2016-08-23 8 views
0

Diese vue Richtlinie:Endlosschleife Warnung in vue.js

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 

gibt mir diese Warnung in der Konsole:

You may have an infinite update loop for watcher with expression: date 

für die Linie

vm.$set key, e.date 

Wie kann ich Die Warnung/Endlosschleife loswerden?

+0

Versuchen Sie, diese Zeile und die darüber zu entfernen – gurghet

Antwort

1

Sie können einen Guard auf Ihrem changeDate Handler hinzufügen, um vm nur dann zu aktualisieren, wenn das Datum wirklich von dem bereits gespeicherten Datum abweicht. Bitte beachten Sie, dass die Identitätsprüfung möglicherweise nicht ausreicht, da $datepicker (abhängig von seiner internen Implementierung) changeDate Ereignis mit einer Kopie des Datums versenden kann.