我正在创建一个datepicker指令,其标记的一部分是:
<select class="form-control" ng-model="day" ng-options="day.nr for day in allDays">
我正在尝试在allDays
属性中定义scope
,如下所示:
ehrApp.directive('datePicker', function() {
return {
scope: {
allDays: [
{'nr': 1},
{'nr': 2},
{'nr': 3},
(...)
{'nr': 31}
]
},
但它不起作用,它失败了“TypeError:undefined不是函数”。
任何想法如何实现这一目标?
答案 0 :(得分:1)
您正在定义指令配置的scope
属性中的值,您可以在该属性中定义指令使用的隔离范围。不是在那里做,而是在link
函数或controller
函数中执行:
return {
link : function (scope, element, attrs) {
scope.allDays = [{nr : 1}];
}
}
或
return {
controller : function ($scope, $element) {
$scope.allDays = [{nr : 1}];
}
}