0
私はVUE、バージョン2.5.8VUEリロード子コンポーネント
私は子供コンポーネントのをリロードする、または親をリロードしてからリロードする子コンポーネントを強制したいを使用しています。
これを使用しようとしましたが、$ forceUpdate()が動作しません。
どうすればよいですか?
私はVUE、バージョン2.5.8VUEリロード子コンポーネント
私は子供コンポーネントのをリロードする、または親をリロードしてからリロードする子コンポーネントを強制したいを使用しています。
これを使用しようとしましたが、$ forceUpdate()が動作しません。
どうすればよいですか?
子供がv-for
などで動的に作成されている場合は、配列を消去して再度割り当てることができ、子供はすべて再作成されます。
既存のコンポーネントが信号に応答するようにするには、イベントバスをプロップとして渡してから、応答するイベントを送出する必要があります。イベントの正常な方向は上がっていますが、時にはそれらを下げることが適切です。
new Vue({
el: '#app',
data: {
bus: new Vue()
},
components: {
child: {
template: '#child-template',
props: ['bus'],
data() {
return {
value: 0
};
},
methods: {
increment() {
this.value += 1;
},
reset() {
this.value = 0;
}
},
created() {
this.bus.$on('reset', this.reset);
}
}
}
});
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
<child :bus="bus">
</child>
<child :bus="bus">
</child>
<child :bus="bus">
</child>
<button @click="() => bus.$emit('reset')">Reset</button>
</div>
<template id="child-template">
<div>
{{value}} <button @click="increment">More!</button>
</div>
</template>
あなたはリロードによって何を意味するか説明してもらえますか?一般に、あなたのデータはあなたのプログラムの状態を制御します。おそらくあなたはどこかでデータを変更する必要があります。 –
こんにちは@RoyJはい私は多くの子コンポーネントがあり、それらのデータをリセットしたい – zaqpiotr
各子は小道具から初期化されたデータを持っているので、値が変更され、それを小道具値に戻したいのですか?そんな感じ? –