2014-10-07 182 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}]; 
    } 
}