我有一个指令来创建一个控制分页和过滤器的元素列表,我在我的应用程序的几个点上使用它。
我想知道在指令中添加自定义方法的最佳方法是什么。
示例:
bind
我的指令模板如下:
angular.module('example').directive('list', function () {
return {
scope: {
elements: '=ngModel',
filters: '=?'
},
restrict: 'E',
transclude: true,
templateUrl: '/static/templates/list.html',
controller: function () {
// Some stuff of pagination and filters functions
}
}
}
我使用这样的指令:
<div class="list">
<!-- Pagination stuff -->
<div ng-transclude></div>
<!-- Pagination stuff -->
</div>
我不知道在指令中创建控制器是否是一种好习惯,或者有更好的方法来实现这一点。
提前致谢。
答案 0 :(得分:0)
您已在指令目标中指定了控制器。您需要使用它:
scope: {
elements: '=ngModel',
filters: '=?'
},
restrict: 'E',
transclude: true,
templateUrl: '/static/templates/list.html',
**controller: function () {
// Some stuff of pagination and filters functions
}**
但是,你可以在控制器内部给出控制器。虽然你做的更好,你可以使用嵌套指令。
答案 1 :(得分:0)
如果您要在多个控制器之间共享,则可以创建服务并将其注入使用它的控制器中。