2014-10-07 186 views
1

我创建一个datepicker指令的默认值,其标记的部分是:角指令范围:设定

<select class="form-control" ng-model="day" ng-options="day.nr for day in allDays"> 

我想在scope属性这样来定义allDays

ehrApp.directive('datePicker', function() { 
    return { 
    scope: { 
     allDays: [ 
     {'nr': 1}, 
     {'nr': 2}, 
     {'nr': 3}, 
     (...) 
     {'nr': 31} 
     ] 
    }, 

但它不起作用,它会因“TypeError:undefined不是函数”而失败。

任何想法如何实现这一目标?

回答

1

您正在定义指令配置的scope属性内的值,这是您定义指令使用的隔离范围的位置。相反,这样做在那里,做到这一点无论是在你的link功能或在您的controller功能:

return { 
    link : function (scope, element, attrs) { 
     scope.allDays = [{nr : 1}]; 
    } 
} 

return { 
    controller : function ($scope, $element) { 
     $scope.allDays = [{nr : 1}]; 
    } 
}