Tommy

Tommy

写代码是热爱,但也是生活 !
github

this.$emit:Vueの親子コンポーネント間の値の受け渡し

vue 中子コンポーネントと親コンポーネントの通信には this.$emit () を使用する必要があります。まず、親コンポーネントと子コンポーネントの通信には何を使用するかを振り返りましょう。#

1. 親コンポーネントから子コンポーネントへの値の受け渡し:v-bind:の形式でデータを渡す(省略形としてコロンを使用することもできます)。そして、子コンポーネントはpropsを使用して受け取ります。
例:
// 親コンポーネント
<todo-item v-bind:item="item"
           v-bind:index="index"
           v-for="(item,index) in list"></todo-item>
// 子コンポーネント
var TodoItemValue = {
        props: ['item','index'],// 'item','index'は親コンポーネントからv-bindで渡されるものです
        template:"<li>{{item}}{{index}}</li>"
    } 
2. 子コンポーネントから親コンポーネントへの値の受け渡し:この場合はthis.$emit()メソッドを使用する必要があります

子コンポーネントから親コンポーネントへの値の受け渡しの基本的な手順は以下の通りです:#

ステップ 1:親コンポーネントで子コンポーネントをインポートする#

  1. import を使用してコンポーネントをインポートします
  import indexImportOrder from './components/indexImportOrder'
  1. 宣言
// コンポーネントを定義する
components:{
  indexImportOrder,
},
  1. 使用
<indexImportOrder ref="indexImportOrder"/>

ステップ 2:子コンポーネントから親コンポーネントへの値の受け渡し#

  1. 子コンポーネント内で親コンポーネントに値を渡す場所で this.$emit ("function", param); を使用します。
    ここで、functionは親コンポーネントで定義された関数であり、paramは渡す必要のあるパラメータです。
// 新しい注文ページへの遷移
viewBusiness(){
  let flag = false;
  this.$emit('closeMain',flag);
},
  1. 子コンポーネントの参照箇所で関数 v-on="function1" を追加します。
    ここで、functionは子コンポーネントで定義された関数であり、function1は親コンポーネントで定義された関数であり、子コンポーネントからの値を受け取り、適切なデータ処理を行うために同じ名前にすることができます。

    v-on:は @ で置き換えることができます。@function="function1" は @の省略形です。
<indexImportOrder ref="indexImportOrder" v-on:closeMain="closeMain"/>
  1. val は子コンポーネントの flag であり、受け取った子コンポーネントのパラメータです。
closeMain(val){
  this.flag = val;
},

完了#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。