我有一个关于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>
当我的Controller第一次运行时,控制台显示消息“startDate”和“endDate”,但当ns.int_date_l
或ns.int_date_r
更改时,data-start-date
和{{ dom中的1}}值发生了变化,但未触发data-end-date
。 问题是为什么?
here is a jsfiddle :(但无效