子コンポーネントから正しいオブジェクトを更新する際に問題があります。Vue.js - 子コンポーネントでパターンを更新または元に戻す
私の設定は以下の通りです: 私が提示したい、または編集したいデータのほとんどが1つのリストです。 "li"の一部には、そのオブジェクトに接続されているリソースのリストであるデータの一部を示す子コンポーネントがあり、新しいリソースのプッシュを処理します。
また、行の有効な編集モードのボタンと、[更新]と[キャンセル]のボタンが必要です。
私が直面している問題は、どのオブジェクトを編集して保存すべきかを理解することです。私が今やっていることは、row内のデータをmutableRowにコピーしようとしていて、入力コントロールのモデルとして使用していますが、ユーザーが編集モードでないときに実際の行データが表示されています。更新メソッドでは、私はdbに投稿し、行オブジェクトを更新しました。
ul
li(v-for="row in rows")
p(v-if="!row.editing") {{ row.name }}
input(v-else, v-model="mutableRow.name")
resources(:row="row")
button(v-if="!row.editing") Start edit
template(v-else)
button Update
button Cancel
これは正しい方法ですか、そうなら、子コンポーネントに送信される小道具はどのように処理すればよいですか?私はこれを介してmutableRowをフェッチしようとしました。$ parent.mutableRow、 "リソース(:row =" row ")をv-ifで切り替えようとしましたが、編集モードであればmutableRowを送ります。どのようにコンポーネントから両方のオブジェクトを変更するアップ。
ここで使用できる別のパターンはありますか?
私は全体が '' editing'状態と編集値は、コンポーネントの内部にあると、成分をli'なるだろう。更新はイベントを発行し、キャンセルは編集値をリセットするだけです。 –
私はあなたが意味することを正確に理解していないので、おそらく例を挙げることができますか? :/ 全体を1つのコンポーネントにする必要がありますか?問題は多くの異なる入力フィールドがあるので、メソッドとテンプレートがたくさんあるため、小さな部品にしようとしました。 – Solander
データの表示方法を教えてください。 1つのコンポーネントがその内部に小さなコンポーネントを持つ必要があります。 –