1
したがって、bind
フックトリガーの下にあるコードをロードすると、componentUpdatedフックはコンポーネントのクラスにもかかわらず実行されないように見えますが、コンポーネントは中立から「含む」に変更されます。添付されたディレクティブを持つコンポーネントのインスタンスがクリックされた場合でも、なぜアップデートが実行されないのかを誰かが知ることができますか?Vue.jsカスタムディレクティブはcomponentUpdatedフックを実行していませんか?
HTML
<ternary-toggle display-text="Broken" v-ternary="'baz'"></th>
JS
Vue.directive('ternary', {
bind: function(el, binding) {
var instanceName = JSON.stringify(binding.value);
if (this['_' + instanceName] == undefined) {
this['_' + instanceName] = {};
}
},
componentUpdated: function(el, binding) {
var instanceName = JSON.stringify(binding.value);
console.log(instanceName);
}
});
var ternaryToggle = Vue.component('ternary-toggle', {
props: ['displayText'],
data: function() {
return {
state: 'neutral',
stateTransitions: {
neutral: 'include',
include: 'exclude',
exclude: 'neutral'
}
}
},
methods: {
toggle: function() {
this.state = this.stateTransitions[this.state]
this.$emit('switched', this.state)
}
},
template: '<span v-bind:class="state + \' btn btn-small\'" v-on:click="toggle">{{ displayText }}</span>'
});
この回答をお探しですか? – Jeppebm
@Jeppebm私はちょうど私が代わりに使ったことを投稿しました。 – BWStearns