我想知道创建控制器的这两种方法的用例是什么:
使用ngController:
myApp.controller('myController', ['$scope', function ( $scope ) {
}]);
在具有controller属性的指令中构造控制器:
myApp.directive ( 'myDirective', [ '$window', function( $window ) {
return {
restrict: 'A',
controller: [ '$scope', function( $scope ) {
}],
link: function( scope, element, attrs ) {
}
};
}]);
如果它们都在同一元素上调用,您是否有理由不在指令内构造控制器?
这仅仅是一个简单的问题,即控制器的使用范围/复杂程度如何?
使用指令控制器的原因简述为一句话:
创建可重复使用的组件
指令控制器应包含可以重用的组件逻辑。结合使用指令控制器和隔离范围是创建可重用组件的方法。
以分页器为例:分页器需要一些逻辑来通知其他组件(例如网格)当前所选页面已更改,以便网格可以相应地更新。这些逻辑可以写在指令控制器内部以便重用。与单独作用域一起使用时,此作用域与应用程序控制器的作用域并不紧密,您可以轻松地将pageSize配置为绑定到应用程序控制器作用域的任何属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句