検索
ホームページウェブフロントエンドVue.jsVue ドキュメントでのコンポーネント値の転送例の分析

Vue 開発では、コンポーネント間の通信は非常に重要な部分です。データを渡すことにより、コンポーネントの連携が向上し、コンポーネント間のコードの再利用性と構成可能性が向上します。コンポーネント間で値を転送するプロセスでは、Vue の非常に柔軟な性質により、コンポーネント間でデータを転送する方法が数多くあります。

この記事では、Vue での一般的なコンポーネント値の転送メソッドを紹介し、例を通してその使用法を示します。

  1. Props プロパティ値の転送
    Vue では、親コンポーネントは props を通じて子コンポーネントにデータを下方に渡すことができます。子コンポーネントは、props オプションを設定することによって、親コンポーネントによって渡された値を受け取ります。 Props には、プリミティブ型、オブジェクト、配列など、任意の型の値を指定できます。

まず、parent.vue という名前の親コンポーネントを作成します。コードは次のとおりです。

<template>
  <div>
    <h2 id="父组件">父组件</h2>
    <p>我是父组件的信息:{{parentInfo}}</p>
    <child :childInfo="parentInfo"></child>
  </div>
</template>

<script>
import Child from './child.vue'
export default {
  name: 'Parent',
  components: {
    Child
  },
  data() {
    return {
      parentInfo: '我是来自父组件的信息'
    }
  }
}
</script>

次に、子コンポーネントを作成します。子コンポーネントのコンテンツは次のとおりです。

<template>
  <div>
    <h2 id="子组件">子组件</h2>
    <p>我是子组件的信息: {{childInfo}}</p>
  </div>
</template>

<script>
export default {
  name: 'Child',
  props: ['childInfo']
}
</script>

親コンポーネントでは、親コンポーネントの情報を子コンポーネントの childInfo 属性に渡すことによってデータを渡します。親コンポーネントでは、親コンポーネントのデータを使用して独自の情報をレンダリングし、それを子コンポーネントにも渡します。

子コンポーネントでは、props オプションを使用して親コンポーネントからデータを受け取ります。子コンポーネントは、childInfo を使用して独自の情報をレンダリングし、childInfo 値は親コンポーネントから取得されます。

上記のコードでは、データを渡すために props を使用し、データを受け取るために子コンポーネントの props を使用します。このようにコンポーネント間で通信を行うことで、コンポーネント間でデータを共有することができ、コンポーネント間のデータの状態を一元的に管理することができます。

  1. $emit メソッドと $on メソッドで値を渡す

Vue では、コンポーネント通信に Emit メソッドと on メソッドを使用することもできます。 Emit メソッドはメッセージの送信に使用され、on メソッドはメッセージの受信に使用されます。このメソッドは通常、親子関係ではないコンポーネント間で使用されます。

まず、event.vue という名前の vue インスタンスを作成します。コードは次のとおりです。

<template>
  <div>
    <h2 id="组件间事件通信示例">组件间事件通信示例</h2>
    <child></child>
    <grand-child></grand-child>
  </div>
</template>

<script>
import Vue from 'vue'
import Child from './child.vue'
import GrandChild from './grandChild.vue'

export default {
  name: 'Event',
  components: {
    Child,
    GrandChild
  },
  created() {
    //使用$on监听来自子组件的事件
    this.$on('sendMsg', function(message) {
      console.log('父组件接收到来自子组件的消息:' + message)
    })
  }
}
</script>

親コンポーネントの $on メソッドを通じてイベントの到着をリッスンします。受信後 イベント後にメッセージを印刷します。具体的な使い方は作成した宣言サイクルフック関数に実装します。

次に、サブコンポーネントのコード実装を見てみましょう:

<template>
  <div>
    <h3 id="子组件">子组件</h3>
    <button @click="handleClick">发送消息</button>
  </div>
</template>

<script>
export default {
  name: 'Child',
  methods: {
    handleClick() {
      //使用$emit发送事件
      this.$emit('sendMsg', '我是来自子组件的信息')
    }
  }
}
</script>

このように、サブコンポーネント内でボタンをクリックすると、$emit メソッドがトリガーされ、イベント名 " sendMsg" は、親コンポーネントへの送信に使用されます。コンポーネントは、「私は子コンポーネントからのメッセージです」というメッセージを送信します。親コンポーネントは、$on メソッドを通じてイベントの到着をリッスンし、対応する操作を完了できます。

同様に、親子関係ではない 2 つのコンポーネント間の通信も実装できます。この方法では、コンポーネントのトリガー イベントとリッスン イベントが疎結合になります。 Emit メソッドと on メソッドを使用することにより、より柔軟なコンポーネント通信を実現できます。

要約すると、コンポーネント間の通信も Vue 開発の非常に重要な部分です。さまざまな値の受け渡し方法に習熟することが、コンポーネント作成の基礎となります。この記事では、具体的なコード例を通じて、Vue での 2 つの一般的な値渡しメソッド、props 値渡しと $emit/$on 値渡しを紹介します。これらの方法により、コンポーネント間の通信を効果的に調整し、コードの再利用性と構成可能性を向上させることができます。

以上がVue ドキュメントでのコンポーネント値の転送例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
フレームワークの選択:Netflixの決定を推進するものは何ですか?フレームワークの選択:Netflixの決定を推進するものは何ですか?Apr 13, 2025 am 12:05 AM

Netflixは、主に、パフォーマンス、スケーラビリティ、開発効率、エコシステム、技術的な負債、およびフレームワーク選択におけるメンテナンスコストを考慮しています。 1。パフォーマンスとスケーラビリティ:JavaとSpringbootが選択され、大規模なデータと高い同時リクエストを効率的に処理します。 2。開発効率とエコシステム:Reactを使用して、フロントエンド開発効率を向上させ、その豊富なエコシステムを利用します。 3.技術的な負債とメンテナンスコスト:node.jsを選択してマイクロサービスを構築して、メンテナンスコストと技術的債務を削減します。

Netflixのフロントエンドの反応、Vue、および未来Netflixのフロントエンドの反応、Vue、および未来Apr 12, 2025 am 12:12 AM

Netflixは、主にReactをフロントエンドフレームワークとして使用し、特定の機能のためにVUEによって補足されます。 1)Reactのコンポーネント化と仮想DOMは、Netflixアプリケーションのパフォーマンスと開発効率を向上させます。 2)VueはNetflixの内部ツールと小規模プロジェクトで使用されており、その柔軟性と使いやすさが重要です。

フロントエンドのvue.js:実際のアプリケーションと例フロントエンドのvue.js:実際のアプリケーションと例Apr 11, 2025 am 12:12 AM

Vue.jsは、複雑なユーザーインターフェイスを構築するのに適した進歩的なJavaScriptフレームワークです。 1)そのコア概念には、レスポンシブデータ、コンポーネント、仮想DOMが含まれます。 2)実際のアプリケーションでは、TODOアプリケーションを構築し、Vuerouterを統合することで実証できます。 3)デバッグするときは、vuedevtools and Console.logを使用することをお勧めします。 4)パフォーマンスの最適化は、V-IF/V-Show、リストレンダリング最適化、コンポーネントの非同期負荷などを通じて達成できます。

Vue.jsとReact:重要な違​​いを理解するVue.jsとReact:重要な違​​いを理解するApr 10, 2025 am 09:26 AM

Vue.JSは中小企業から中規模のプロジェクトに適していますが、Reactは大規模で複雑なアプリケーションにより適しています。 1。VUE.JSのレスポンシブシステムは、依存関係追跡を介してDOMを自動的に更新し、データの変更を簡単に管理できるようにします。 2.反応は一方向のデータフローを採​​用し、データは親コンポーネントから子コンポーネントに流れ、明確なデータフローと簡単な抽出構造を提供します。

Vue.js vs. React:プロジェクト固有の考慮事項Vue.js vs. React:プロジェクト固有の考慮事項Apr 09, 2025 am 12:01 AM

VUE.JSは、中小規模のプロジェクトや迅速な反復に適していますが、Reactは大規模で複雑なアプリケーションに適しています。 1)Vue.jsは使いやすく、チームが不十分な状況やプロジェクトスケールが小さい状況に適しています。 2)Reactにはより豊富なエコシステムがあり、高性能で複雑な機能的ニーズを持つプロジェクトに適しています。

Vueにタグをジャンプする方法Vueにタグをジャンプする方法Apr 08, 2025 am 09:24 AM

VUEでタグのジャンプを実装する方法には、HTMLテンプレートでAタグを使用してHREF属性を指定する方法が含まれます。 VUEルーティングのルーターリンクコンポーネントを使用します。 JavaScriptでこれを使用します。$ router.push()メソッド。パラメーターはクエリパラメーターに渡すことができ、ルートは動的ジャンプのルーターオプションで構成されています。

VUEのコンポーネントジャンプを実装する方法VUEのコンポーネントジャンプを実装する方法Apr 08, 2025 am 09:21 AM

VUEでコンポーネントジャンプを実装するための次の方法があります。Router-Linkと&lt; router-view&gt;を使用してください。ハイパーリンクジャンプを実行し、ターゲットパスとして属性を指定するコンポーネント。 &lt; router-view&gt;を使用してください現在ルーティングされているレンダリングされているコンポーネントを表示するコンポーネント。プログラマティックナビゲーションには、router.push()およびrouter.replace()メソッドを使用します。前者は歴史を保存し、後者は記録を残さずに現在のルートに取って代わります。

VueのDivにジャンプする方法VueのDivにジャンプする方法Apr 08, 2025 am 09:18 AM

VUEにDIV要素をジャンプするには、VUEルーターを使用してルーターリンクコンポーネントを追加するには、2つの方法があります。 @clickイベントリスナーを追加して、これを呼び出します。$ router.push()メソッドをジャンプします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター