Vueコンポーネントの作成と送信の方法


葃葃のコンポーネントを作る3つの方法
ヽoo!ツ
 + Vue.exted関数はコンポーネントのコンストラクタを返します。中にはパラメータが含まれています。パラメータはオブジェクトです。オブジェクトの中にはいくつかの構成項目があります。
+Vue.co mponent()関数はVue.exted()の返したコンストラクタを利用してコンポーネントを作成する例を示しています。二つのパラメータがあります。
パラメータ1:コンポーネント名、パラメータ2:コンポーネントコンストラクタ
 注意:
      テンプレートtemplateにはルートのみがあります。
    創立した名前はラクダの峰で命名したら、使う時は「-」をつけます。例えば、コンポーネント名indexA-->index-a;
シシシシサイ第二種:
 + Vue.co mponent('indexB'、{テンプレート})
シシシシシシ第三種:
 + テンプレート作成により、Vue管轄範囲外にテンプレートを定義します。
シシシシシサイのまとめ:
 + まずテンプレートを作って、コンポーネントを作成します。
萼菵モジュールでの使用指令:
 + Vue.com mponent()には、templateテンプレートがあり、data()関数があり、methods()メソッドがあります。
+注意:data()は関数でなければなりません。属性定義は使えません。関数の中からreturnはオブジェクトから出ます。
萼親ユニットをサブアセンブリに送る方法
*親コンポーネントとサブコンポーネントを先に作成します。
*親コンポーネントのテンプレートのson、サブアセンブリラベルにバインドされています。属性=親コンポーネントが渡すべきデータです。
 * サブコンポーネントのson{}にあります。  プロpsを使用して、親コンポーネントから渡されたデータを受信する。
 * プロpsの後に1つの配列があり、配列中は1つの文字列であり、これらの文字列は属性として使用できます。すなわち、props:''属性名'です。
 * コードは以下の通りです
    *

Vue.component('father',{
    template:'<div>....<son :myName="mySonName"></son></div>',
    data(){
      return{
        mySonName:'  '
      }
    },
    //   
    components:{
      son:{
        props:['myName'],
        template:'...{{myName}}'
      }
    }
  })
 ## サブコンポーネントの親コンポーネントに値を送る方法
*親コンポーネントとサブコンポーネントを先に作成します。
*サブアセンブリmethodsメソッドにthis.$emit()を使用して、
     * この方法には二つのパラメータがあります。パラメータ1:イベント名、パラメータ2:転送するデータを親コンポーネントと交換する必要があります。
*親コンポーネントテンプレートのsonタグにメソッド名の転送を使用します。
つまり、@tellFatherMyname = "getMySonName";*親コンポーネントのmethods方法でdataパラメータを入力し、このdata=サブコンポーネントから渡されたデータをmySonName = data;*に伝える。
コードは以下の通りです     

<div id="app">
    <father></father>
  </div>
  <script>
    Vue.component('father',{
      template:`<div>
      <p>         {{mySonName}}</p>
      <son @tellFatherMyname="getMySonName"></son>
      </div>`,
      data(){
        return {
          mySonName:'???'
        }
      },
      methods:{
        getMySonName(data){
          console.log(data);
          this.mySonName = data;
        }
      },
      components: {
        son:{
          data(){
            return {
            myName :'  '
            }
          },
          template:`
              <button @click = "emitMyname">         {{myName}}          
              </button>`,
          //     methods   this.$emit()    ;
          //$emit() 2   ;  1:        ,  2:      ;  
             :this.name
          methods:{
            emitMyname(){
              this.$emit('tellFatherMyname',this.myName)
            }
          }
        }
      }
    })
    var vm = new Vue({
      el:'#app',
      data:{
      }
    })
  </script>
萼菗兄弟セットの作成と伝値:
 * 兄弟を作る時に、父のコンポーネントを作って、サブコンポーネントの中でsonコンポーネントとdauhtterコンポーネントを作ります。
 * 次はsonコンポーネントとdaughtterコンポーネントの間で値を伝えます。
 *  dau--son传値
*dauでは、まずイベントバスを通じてイベント名と転送すべきデータを送信する。つまり、eventbus.$emit('イベント名'、'データ')
     *  イベントバス:var eventbus = new Vue();*sonではまずフック関数を書き、eventbus.$on('イベント名',data=>{}を通して傍受し、兄弟ノードから送信されたイベントを受信する
*  $on()は二つのパラメータがあります。パラメータ1:イベント名です。パラメータ2:関数、関数のデフォルト値は転送されたデータ*コードです。
     * 

<div id="app">
    <!--           -->
    <father></father>
  </div>
  <script>
    //     vue   ,      
    var eventbus = new Vue();
    Vue.component('father',{
      //       
      template:`<div>
            <son></son>
            <daughter></daughter>
          </div>`,
      components: {
        son:{
          data(){
           return {
            mySisterName:'???'
           }
          },
          //       
          template:'<p>         {{mySisterName}}</p>',
          //      
          //        eventbus.$on('       ',data)          
          mounted(){
            eventbus.$on('tellBroMyName',data=>{
              this.mySisterName = data;
            })
          }
        },
        daughter:{
          data(){
           return {
            myName:'  '
           }
          },
          template:'<button @click="emitMyName">         {{myName}}</button>',
          methods:{
            //      ,             
            emitMyName(){
              eventbus.$emit('tellBroMyName',this.myName)
            }
          }
        }
      }
    })
    var vm = new Vue({
      el:'#app',
      data:{
      }
    })
  </script>
締め括りをつける
以上は小编が皆さんに绍介したVueコンポーネントの创建と伝値の方法です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。