ホームページ > ウェブフロントエンド > Vue.js > Vueでコンテキストから値を渡す方法

Vueでコンテキストから値を渡す方法

下次还敢
リリース: 2024-05-09 15:18:17
オリジナル
1275 人が閲覧しました

Context API を使用すると、データを提供するプロバイダー コンポーネントを定義し、そのデータに inject() 関数を使用して子孫コンポーネントでアクセスすることで、コンポーネント間でデータを渡すことができます。具体的な手順には次のものが含まれます。 プロバイダー コンポーネントで Provide() 関数を使用してプロバイダー コンポーネントを定義します。 inject() 関数を使用して、共有データにアクセスする必要があるコンポーネントに値を注入します。注入された値にアクセスします。

Vueでコンテキストから値を渡す方法

Vue で Context を使用して値を渡す

Context は、コンポーネント ツリー内のコンポーネント間でデータを渡すことを可能にする Vue.js エコシステムの API です。これは、プロバイダー コンポーネントで値を定義し、子孫コンポーネントの挿入 API を介してその値にアクセスすることによって行われます。

コンテキストを使用して値を渡す方法

プロバイダーコンポーネントの作成

プロバイダーコンポーネントを定義するには、provide()関数を使用します。このコンポーネントは、共有する必要があるデータを提供します。

<code class="javascript">import { provide } from 'vue';

export default {
  setup() {
    provide('myValue', 'Hello World!');
  }
}</code>
ログイン後にコピー

値の挿入

共有データにアクセスする必要があるコンポーネントでは、inject() 関数を使用して値を挿入します。

<code class="javascript">import { inject } from 'vue';

export default {
  setup() {
    const myValue = inject('myValue');
    return { myValue };
  }
}</code>
ログイン後にコピー

挿入された値へのアクセス

挿入された値にコンポーネントのテンプレートまたはスクリプトでアクセスできるようになりました。

<code class="html"><template>
  <h1>{{ myValue }}</h1>
</template></code>
ログイン後にコピー

親コンポーネントと子コンポーネントを持つコンポーネント ツリーを考えてみましょう。親コンポーネントは、子コンポーネントがアクセスする必要がある値「myValue」を提供します。

親コンポーネント (Provider.vue)

<code class="javascript"><script>
import { provide } from 'vue';

export default {
  setup() {
    provide('myValue', 'Hello World!');
  }
}
</script></code>
ログイン後にコピー

子コンポーネント (Consumer.vue)

<code class="javascript"><script>
import { inject } from 'vue';

export default {
  setup() {
    const myValue = inject('myValue');
    return { myValue };
  }
</script></code>
ログイン後にコピー

Result

Consumer.vue がレンダリングされると、親コンポーネントによって提供される 'myValue' 値にアクセスしますそしてそれをUIに表示します。

以上がVueでコンテキストから値を渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
vue
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート