Vue.js のイベント駆動型アーキテクチャで親データを更新するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-27 11:46:01
オリジナル
358 人が閲覧しました

How to Update Parent Data with Event-Driven Architecture in Vue.js?

Vue.js のイベント駆動型アーキテクチャによる親データの更新

Vue.js では、双方向バインディングは利用できなくなりました。バージョン 2.0 は非推奨になったため。代わりに、よりイベント駆動型のアーキテクチャが採用されており、子コンポーネントはプロパティを直接操作すべきではありません。むしろ、イベント発行を使用して親コンポーネントと通信する必要があります。

子コンポーネントから親データを更新したい場合は、v-model でカスタム コンポーネントを使用することを検討してください。この特別な構文は双方向バインディングにほぼ似ていますが、イベントを使用して実装されます。

簡単な例を次に示します:

<code class="javascript">Vue.component('child', {
  template: '#child',

  // The child has a prop named 'value'. v-model will automatically bind to this prop.
  props: ['value'],
  methods: {
    updateValue: function (value) {
      this.$emit('input', value);
    }
  }
});

new Vue({
  el: '#app',
  data: {
    parentValue: 'hello'
  }
});</code>
ログイン後にコピー
<code class="html"><script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.js"></script>

<div id="app">
  <p>Parent value: {{ parentValue }}</p>
  <child v-model="parentValue"></child>
</div>

<template id="child">
  <input type="text" v-bind:value="value" v-on:input="updateValue($event.target.value)">
</template></code>
ログイン後にコピー

この例では:

  • 子コンポーネントには、親コンポーネントのparentValue データ プロパティにバインドされた v-model ディレクティブがあります。
  • ユーザーが子コンポーネントの入力フィールドに値を入力すると、updateValue メソッドは次のようになります。
  • このメソッドは、値をパラメータとして持つ入力イベントを発行し、親コンポーネントによって処理されます。
  • 親コンポーネントは、親コンポーネントによって発行された値に基づいて、parentValue データ プロパティを更新します。子コンポーネント。

以上がVue.js のイベント駆動型アーキテクチャで親データを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!