tho*_*rn̈ 18 javascript angularjs angularjs-directive angularjs-scope angularjs-controller
我想在我的指令中使用'controllerAs'选项.让我引用" Google封闭用户的AngularJS风格指南 "中的推理:
为什么?将方法和属性直接放在控制器上,而不是构建范围对象,更适合Google Closure类样式.此外,使用"controller as"可以清楚地了解当多个控制器应用于元素时您要访问的控制器.因为总有'.' 在绑定中,您不必担心原型继承掩盖原语.
但是,如果指令具有隔离范围绑定,我可以看到使用此方法的问题.
angular.module('cmw').directive('fooWidget', function() {
return {
controller: function() {
this.qux = '123';
},
controllerAs: 'fooWidget',
scope: {
bar: '='
},
template: ' {{fooWidget.qux}} {{bar}} '
};
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,bar属性附加到范围,而不是附加到控制器,这导致混淆不一致的情况,其中应该在不同的位置查找不同的属性.什么是"官方"推荐的解决方法?
| 归档时间: |
|
| 查看次数: |
5640 次 |
| 最近记录: |