Riv*_*ivi 11 angularjs angularjs-directive
我在范围属性定义中看到了一些使用问号('?')的指令,如下所示:
app.directive('userInfo', function() {
return {
restrict: 'A',
scope: {prop: '=?'},
templateUrl: 'some/template/url',
};
Run Code Online (Sandbox Code Playgroud)
我找了它,我看到的唯一想法是:'=?'的意思是什么?在angularJS指令中隔离范围声明?.但它并没有按照他在那里解释它的方式工作.我已成功运行我的应用程序,并没有抛出异常.
有人可以详细说明一下吗?
Der*_*ler 13
如果你没有添加?并且没有prop在你正在使用该指令的元素上放置属性,那么将抛出异常.
添加?,将属性标记为可选.如文档中所述$compile:
你可以使用=?避免这种行为?或=?attr以便将属性标记为可选.
我认为文档可能在该领域有点过时了.NON_ASSIGNABLE_MODEL_EXPRESSION仅出现在旧版本的源代码中.
请注意,只有在尝试写入scope属性时才会抛出异常.我把一个快速的傻瓜拼凑起来展示这个问题:http://plnkr.co/edit/hjUq6ZisuRG2C3mZpRDj?p = preview
| 归档时间: |
|
| 查看次数: |
5429 次 |
| 最近记录: |