Vue コンポーネント通信におけるデータ更新スキームの分析
Vue 開発において、コンポーネント通信は重要な役割を果たします。コンポーネント通信において、データの更新は不可欠なリンクです。この記事では、Vue コンポーネント通信におけるデータ更新スキームを分析し、コード例を通して説明します。
親子コンポーネント通信では、親コンポーネントは props を通じて子コンポーネントにデータを渡し、子コンポーネントはデータを送信できます。イベント $emit を通じて親コンポーネントに送信します。
コード例:
// 親コンポーネント App.vue
<child-component :message="message" @update="handleUpdate"></child-component>
<script><br>'./ChildComponent.vue' から ChildComponent をインポート;</p><p>デフォルトの {<br> コンポーネントをエクスポート: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ChildComponent</pre><div class="contentsignin">ログイン後にコピー</div></div><p>} ,<br> data() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>return {
message: 'Hello World'
}</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p>},<br> メソッド: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>handleUpdate(data) {
this.message = data;
}</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br></script>
/ / ChildComponentChildComponent.vue
<button @click="sendMessage">发送消息</button>
<script><br> デフォルトのエクスポート{<br> props: ['message'],<br> メソッド: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>sendMessage() {
this.$emit('update', 'Hello Vue');
}</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br></script>
この例では、親コンポーネントは、props を通じて子コンポーネントに message 属性を渡します。子コンポーネントがボタンをクリックすると、イベント $emit を通じて更新イベントが親コンポーネントに送信され、データとして「Hello Vue」が渡されます。親コンポーネントの handleUpdate メソッドはデータを受信すると、それをメッセージに割り当てて、データを更新します。
兄弟コンポーネント通信では、共通の親コンポーネントでデータを定義し、props とイベントを通じてそれぞれデータを更新できます。
コード例:
// 親コンポーネント App.vue
<child-component1 :message="message" @update-message="handleUpdateMessage"></child-component1>
<child-component2 :message="message"></child-component2>
<script><br>'./ChildComponent1.vue' から ChildComponent1 をインポート;<br>'./ChildComponent2.vue' から ChildComponent2 をインポート;</p><p>デフォルトのエクスポート { <br> コンポーネント: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ChildComponent1,
ChildComponent2</pre><div class="contentsignin">ログイン後にコピー</div></div><p>},<br> data() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>return {
message: 'Hello World'
}</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p>},<br> メソッド: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>handleUpdateMessage(data) {
this.message = data;
}</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br></script>
// 子コンポーネント ChildComponent1.vue
<button @click="sendMessage">发送消息</button>
< ;/template>
<script><br>デフォルトのエクスポート {<br> props: ['message'],<br> メソッド: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>sendMessage() {
this.$emit('update-message', 'Hello Vue');
}</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br>< ;/script></p><p>// 子コンポーネント ChildComponent2.vue<br><template><br> <div></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><p>{{ message }}</p></pre><div class="contentsignin">ログイン後にコピー</div></div><p></div><br></template> ;<br><script><br>デフォルトのエクスポート {<br> props: ['message']<br>}<br></script>
この例では、親コンポーネント Appメッセージ データは .vue で定義され、2 つのサブコンポーネント ChildComponent1 と ChildComponent2 に渡されます。 ChildComponent1 がボタンをクリックすると、イベント $emit を通じて更新メッセージ イベントが親コンポーネントに送信され、データとして「Hello Vue」が渡されます。親コンポーネントの handleUpdateMessage メソッドはデータを受信すると、それをメッセージに割り当てます。 ChildComponent2 はメッセージ プロパティにもバインドされているため、メッセージが更新されると、ChildComponent2 は表示を自動的に更新します。
概要
プロパティとイベントを通じて、Vue コンポーネント通信のデータを更新できます。親子コンポーネント通信では、親コンポーネントは props を通じて子コンポーネントにデータを渡し、子コンポーネントはイベント $emit を通じてデータ更新リクエストを親コンポーネントに送信します。兄弟コンポーネント通信では、共通の親コンポーネントでデータを定義し、props とイベントを通じてデータを更新できます。これらのデータ更新ソリューションは実際の Vue 開発で広く使用されており、コンポーネント通信とデータ更新をより適切に実装するのに役立ちます。
以上がVueコンポーネント通信におけるデータ更新スキームの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。