2017-02-22 15 views
0

this.$emitmountedフックでは動作しません。それに対処する方法? setTimeoutを追加する必要がありますが、それは悪い考えです。

watcherの内部には問題ありません。

watch: { 
    propInitialValue: function(val, oldVal) { 
     this.value = this.getValue(val); 
    }, 
    value: function(val, oldVal) { 
     if(! this.isDisabled) { 
      this.$emit('changed', this.propName, val); 
     } 
    } 
}, 
+0

イベントを追加します。 vue-devtools:https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpdを使用している場合は、イベントが発生したかどうかを確認できます。 –

+1

いいえ、多くの値。 $ emitは他のメソッドでも動作します。この場合、setTimeoutを使用します。 –

+0

これを使って試してみてください。$ emit( 'changed'、{prop:this.propName、value:this.value}); 'どこでも見つけることはできませんが、イベントはそういう値を出すことはできません。 –

答えて

0

一つの値だけを発することができる.bind(this)

setTimeout(() => { 
    this.$emit('changed', this.propName, this.value); 
}, 1900).bind(this) 
関連する問題