【发布时间】:2013-10-17 15:58:44
【问题描述】:
我正在尝试编写我的第一个 Angular 指令来为我的应用程序添加分页功能。 我现在保持简单,并希望指令只共享控制器的范围。
在我的控制器中,我有一个名为:
$scope.pages
在我的指令的链接函数中,我可以这样做:
console.dir($scope)
查看控制器范围对象的内容,但如果我尝试访问 pages 属性,它会以未定义的形式返回。
我错过了什么?
提前致谢。
myDirectives.directive("mdPagination", function(){
return {
template: '',
restrict: 'A',
priority: 1000,
scope: false,
link: function($scope, el, attrs){
console.dir($scope.pages); //returns undefined
el.text('hello world');
},
}
});
编辑:我知道那里有分页模块,但我的需求不大,我认为构建自己的模块是开始学习如何构建指令的简单方法。
【问题讨论】:
-
尝试删除
scope: false -
如何在你的控制器中填充 $scope.pages?通过 AJAX 请求?
-
查看这些现有的AngularJS分页模块@ngmodules.org/modules?query=pagination
-
我们能看到您设置
$scope.pages的控制器以及使用该控制器和您的指令的HTML 吗? -
$scope.pages 何时填充到控制器中?如果它直接填充在控制器中,它对我有用。 p.s.在链接函数中,您不需要将其命名为 $scope,范围将是您作为第一个参数传递的任何内容,链接函数中的名称与控制器中的名称无关
标签: angularjs angularjs-directive