ブログポストの表示/編集を可能にするVueJSアプリを考えてみましょう。適切なvueJSデータと小道具を同期する方法
- "blogpostを編集"をクリックすると、現在のblogpost(通常のjsオブジェクト)を編集するためのモーダル(Vueコンポーネント)が表示されます。
- 私は現在のblogpostを
prop
としてmodal-componentに渡します。 - Modalコンポーネントには、blogpost-attributesで設定する必要があるフォームフィールドがいくつかあります。
- しかし、Vue 'way'は、ユーザーがフォームフィールドを変更したときに更新されるように、フォームフィールドを作成するモデルとして機能するModalコンポーネント上に
data
オブジェクトを持つことです。
問題:ブログ投稿は、フォームフィールド
- :どのように私はそのようモーダル成分の
data
分野へprop
として渡されるブログ投稿を接続してくださいフォームフィールドの更新時に更新される
これを行うには正しいVue方法はありますか?
オプション4(gitter vuejsチャットに基づいています)が動作しているようです。これはすべての小道具が自動的に 'data'の一部であることに基づいています(ここでは' sync'は必要ありません)。したがって 'blogpost'(普通のオブジェクト)という小道具があれば、blogpostを''です。これはあなたのオプション1と同じ警告で、更新が直ちに行われるので、 'blogpostOld'を残しておくか、取り消し時に再びマージするものがあることを確認する必要があります。素晴らしい概要をありがとう。 –
はい、 'props'、' data'と 'computed'は同様の性質を持っています。しかし、わかっている限り、アイテムに小道具を渡すと、その関係は片方向(親の変更が子供に渡されます)です。 '.sync'を使うと、関係は' two-way'になります。子のデータの変更によって親も変更されます:https://vuejs.org/guide/components.html#Prop-Binding-Types –
'sync'を定義せずに意図された双方向振る舞いを見ています。これは、文字列のような単純な型の代わりにオブジェクト参照を渡しているためです。 –