寄付用フォームを持つ非常に小さなアプリがあります。このフォームは、ユーザーに情報を入力する手順を示します。私はフォームラッパーとフォームデータ(モデル)のすべてを保持するメインのVueインスタンスであるメインコンポーネントを持っています。すべての子コンポーネントは、寄付プロセス内のステップです。各子コンポーネントには、入力する入力フィールドがあり、それらのフィールドは親モデルを更新し、フォームを送信すると親モデルのすべてのフォームデータを保持します。ここでは部品が一緒に入れている方法です。donation-form
コンポーネント内子コンポーネントから親モデルを更新するVue
<donation-form></donation-form> // Main/Parent component
:今
<template>
<form action="/" id="give">
<div id="inner-form-wrapper" :class="sliderClass">
<step1></step1>
<step2></step2>
<step3></step3>
</div>
<nav-buttons></nav-buttons>
</form>
</template>
、私はそれぞれの子コンポーネントで入力からデータを設定していますし、私はwatch
方法を持っていますそれは、更新するフィールドのために見ていると、私はこれを行うことによって、$root
にそれらをプッシュしています...
watch: {
amount() {
this.$root.donation.amount = this.amount;
}
}
問題は私の踏み台の一つに多くのフィールドがあり、私は繰り返しコードを書いているようです。また、これはこれを行う最善の方法ではないと確信しています。
prop
というデータを子コンポーネントに渡そうとしましたが、子コンポーネントの子コンポーネントを変更できないようです。
子コンポーネントのすべての値にウォッチを追加する以外に、ルートインスタンスや親インスタンスを更新するにはどうすればよいでしょうか?ここstep2 vue file 私donation-form.vue
ファイルです - -
より多くの例 は、ここに私のstep2.vue
ファイルですdonation-form vue file
ありがとう!これは私がする必要があったものです。とても有難い。 – dericcain