0

我正在为Bootstrap Datepicker编写指令。它需要data-date属性作为日历的开始日期。然而,在我的界面中,还有另一个月份和年份的选择器。所以我需要以某种方式在主控制器中每次更改年份和月份时为该指令重新渲染模板。我想在链接函数中使用 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')

我该如何处理?

4

0 回答 0