我正在为Bootstrap Datepicker撰写指令。它需要data-date
属性作为日历的开始日期。然而,在我的interfase中,还有另一个月和年的选择器。因此,我需要以某种方式重新渲染此指令的模板,每次在主控制器中更改年份和月份。我想在链接函数里面使用jQuery.attr来添加相应的属性。但link
只执行一次。
以下是我如何使用它
<li datepicker ng-model="results.config.filters" class="filter" ng-class="{active:ngModel.day}">
这是指令本身。
window.DatePickerDirective = ->
restrict: "A"
scope:
ngModel: '='
link: (scope, elem, attr, ctrl) ->
date = new Date()
if scope.ngModel.year
date.setYear scope.ngModel.year
if scope.ngModel.month
date.setMonth scope.ngModel.year
$(elem).attr 'data-date', [scope.ngModel.month, 1, scope.ngModel.year].join('/')
dp = $(elem).datepicker().on('changeDate', (ev) ->
scope.$apply ->
scope.ngModel.day = ev.date
dp.hide()
).data('datepicker')
我该如何处理?