を示したが、1度に1つしか表示されたときに子コンポーネントを再利用しているようです。私はVueが各レンダリングに対して別個の/新しい子コンポーネントを作成すると仮定しました。Vueのは、一度に一つだけが、私は子コンポーネントをレンダリングしていますV-用ループ
は、しかし、それもアウトに変更された後、子コンポーネントの私のデータ値が持続するので、同じインスタンスを使用しているように見えます。
は今、私は..質問が変化したときに手動でデータ値をリセットするためにウォッチャーを作成していますが、それはハック感じています。が、これは正常な動作ですか?
// Parent Component
<AnswerQuestion
v-for = "question in questions"
v-bind:question = "question"
v-if = "question.id == currentVisibleIndex"
v-on:questionAnswered = "questionAnswered"
>
</AnswerQuestion>
// Child Component
props: ["question"],
data() {
return {
options: options,
commentText: null
}
}
// what i am doing now, feels hacky
watch: {
question: function (newQuestion) {
this.selectedOption = null
this.commentText = null
}
},
は「質問」子コンポーネントで小道具ですか?もしそうでなければ、あなたは子供に何が問題なのかを伝えているとは思わないからです。 – Potray
はいそうです。それはうまくいきます、私を混乱させるのは再利用するオブジェクトです。 –
"options"データは何も提供されておらず、questionプロパティにバインドされていないため、コンポーネントについてより多くのコードを提供する必要があると思います。 – Potray