1
単一のファイルコンポーネントを使用して、ディレクティブからデータプロパティを変更するにはどうすればよいですか?したがって、たとえば、私が持っている Vue.js 2、ディレクティブからデータを変更する
...export default {
name: 'app',
data: function() {
return {
is_loading: true
}
},
directives: {
do_something: {
bind: function(el, binding, vnode) {
// Change the is_loading property
}
}
}
}
は、最初に私は私がthis.is_loading = false
しかしthis
がundefined
で行うことができると思いました。
do_something: {
bind: function(el, binding, vnode) {
// same as this.is_loading in a directive
vnode.context.is_loading = false;
}
}
を次に、あなたのマークアップであなたがするだろう:
<div v-do_domething></div>
はここJSFiddleだあなたが持っているでしょうディレクティブでので、あなたは、単に、vnode.context
を使用することができますディレクティブでthis
を参照するために
完璧に働いた、歓声! – KeironLowe
文書は「el」以外のすべてを読み取り専用として扱うと言っています。 https://vuejs.org/v2/guide/custom-directive.html これを行う別の方法はありますか? – Ashbury
Hmm。これは、ドキュメントが参照している意味での変更ではなく、インスタンス自体の外部からのvueインスタンスの参照とまったく同じ、Vueインスタンスへの参照に過ぎないと主張します。 –