gpt4 book ai didi

javascript - Angular ngController 与在指令中构建的 Controller

转载 作者:可可西里 更新时间:2023-11-01 02:37:52 27 4
gpt4 key购买 nike

我想知道这两种创建 Controller 的用例是什么:

使用 ngController:

myApp.controller('myController', ['$scope', function ( $scope ) {

}]);

在带有 Controller 属性的指令中构建 Controller :

myApp.directive ( 'myDirective', [ '$window', function( $window ) {
return {
restrict: 'A',
controller: [ '$scope', function( $scope ) {

}],
link: function( scope, element, attrs ) {

}
};
}]);

如果它们都在同一个元素上调用,您是否有任何理由不在指令中构建 Controller ?

这仅仅是 Controller 使用范围/复杂程度的问题吗?

最佳答案

使用指令 Controller 的原因浓缩为一句话:

To create reusable components

指令 Controller 应包含可以重用 的组件逻辑。结合使用指令 Controller 和隔离范围 是创建可重用组件的方法。

以分页器为例:分页器需要一些逻辑来通知其他组件(例如网格)当前所选页面发生变化,以便网格可以相应地更新。这些逻辑可以写在指令 Controller 中以供重用。当与isolate scope一起使用时,这个范围与应用程序 Controller 的范围并不紧密,您可以轻松配置pageSize/strong> 绑定(bind)到应用程序 Controller 范围内的任何属性。

关于javascript - Angular ngController 与在指令中构建的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19225702/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com