vue.js 中的无限循环警告
Infinite loop warning in vue.js
这个 vue 指令:
Vue.directive 'datepicker',
bind: () ->
vm = this.vm
key = this.expression
datepicker = $(this.el).datepicker
todayBtn: 'linked'
language: 'de'
daysOfWeekDisabled: '0'
calendarWeeks: true
todayHighlight: true
toggleActive: true
autoclose: true
datepicker.on 'changeDate', (e) ->
vm.$set key, e.date
update: (val) ->
$(this.el).datepicker 'setDate', val
在控制台中给我这个警告:
You may have an infinite update loop for watcher with expression: date
为线
vm.$set key, e.date
如何摆脱警告/无限循环?
您可以在 changeDate
处理程序上添加一个守卫,仅当日期与已存储的日期确实不同时才更新 vm
。请注意,身份检查可能还不够,因为 $datepicker
(取决于其内部实现)可以使用日期副本发送 changeDate
事件。
这个 vue 指令:
Vue.directive 'datepicker',
bind: () ->
vm = this.vm
key = this.expression
datepicker = $(this.el).datepicker
todayBtn: 'linked'
language: 'de'
daysOfWeekDisabled: '0'
calendarWeeks: true
todayHighlight: true
toggleActive: true
autoclose: true
datepicker.on 'changeDate', (e) ->
vm.$set key, e.date
update: (val) ->
$(this.el).datepicker 'setDate', val
在控制台中给我这个警告:
You may have an infinite update loop for watcher with expression: date
为线
vm.$set key, e.date
如何摆脱警告/无限循环?
您可以在 changeDate
处理程序上添加一个守卫,仅当日期与已存储的日期确实不同时才更新 vm
。请注意,身份检查可能还不够,因为 $datepicker
(取决于其内部实现)可以使用日期副本发送 changeDate
事件。