Vueインスタンスからコンポーネント内のデータを更新したいとします。反対のことを行う方法の例がたくさんあるが、これについては何も見つからない。Vue:Vueインスタンスからのコンポーネントデータの更新
は、私が持っていると言う:
Vue.component('component', {
props: {
prop: {
default: null
}
},
template: '#template',
data: function() {
return {
open: false
};
}
});
今、私は私のVueのインスタンスからtrue
にopen
を設定したいと思います:
var root = new Vue({
el: '#root',
data: {},
methods: { updateComponentData: function() {//set open to true} } });
あなたは(あなたの例では 'component')子コンポーネントを更新するために、親コンポーネント(あなたの例では' root')を使用しようとしていますか?そうであれば、**データが親から子に渡され、イベントが子から親に渡されるパターンに従うことを強くお勧めします**([Vueのその他のドキュメント](https:// vuejs。 org/v2/guide/components.html#作成 - コンポーネント))。あなたの例では、あなたの子供は 'open'と呼ばれる' prop'を持ち、あなたの親は 'open'状態を表す値を子コンポーネントにバインドします。 – wing
あなたのコンポーネントの関係が親子よりも複雑な場合は、[状態管理](https://vuejs.org/v2/guide/state-management.html)を中心に回転するパターンを探索することができます。 – wing
事実は、 'open'を' prop'に設定した場合、実際にはデータでなければならないという警告が表示されます。いずれにせよ、私はインスタンス(ルート)からコンポーネント(コンポーネント)にデータを渡そうとしています。しかし、彼らは別々ですので、それが親子としてカウントされているかどうかは分かりません。すなわち、コンポーネントは、ビューインスタンスの内部には存在しない。解決策があると思われる場合は、実際に成功しなかったドキュメントで数時間を費やしたので、回答を投稿してください。 –