0

data-color我有一个关于属性的观察者的指令。

# datepicker-directive.coffee
app
.directive 'datepicker', ->
    {
        restrict: 'A'
        require: '?ngModel'
        link: (scope, el, attrs, controller) ->
            el.datepicker({
                language: 'es'
                autoclose: true
            })
            # Update start-date when changeDate
            attrs.$observe 'startDate', (value) ->
                console.log 'startDate'
                el.datepicker 'setStartDate', value
            # Update end-date when changed
            attrs.$observe 'endDate', (value) ->
                console.log 'endDate'
                el.datepicker 'setEndDate', value
            # We have Controller then wire it up
            el.on 'changeDate', (ev) ->
                scope.$apply ->
                    controller.$setViewValue ev.date
            # Garbage collector
            scope.$on '$destroy', ->
                datepicker = el.data 'datepicker'
                if datepicker
                    el.picker.remove()
                    el.data 'datepicker', null
            return
    }

在模板中我使用这样的指令

<input type="text" ng-model="ns.int_date_l" data-date-format="dd/mm/yyyy" data-end-date="{{ns.int_date_r}}" datepicker>
<input type="text" ng-model="ns.int_date_r" data-date-format="dd/mm/yyyy" data-start-date="{{ns.int_date_l}}" datepicker>

当我的控制器第一次运行时,控制台中会显示消息“startDate”和“endDate”,但是当ns.int_date_lorns.int_date_r更改时,dom 中的data-start-dateanddata-end-date值会更改但$observe不会触发。问题是为什么?

这是一个jsfiddle :(但不工作

4

0 回答 0