Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erläuterung der Eltern-Kind-Kommunikation zwischen Vue-Komponenten

小云云
Freigeben: 2017-12-23 11:47:04
Original
1579 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die relevanten Informationen zur Eltern-Kind-Kommunikation zwischen Vue-Komponenten vor. Ich hoffe, dass er jedem helfen kann.

3. Kommunikation zwischen Komponenten ($parent $refs)

Wenn die übergeordnete Komponente die Daten der untergeordneten Komponente erhalten möchte:

①Geben Sie beim Aufrufen der untergeordneten Komponente das Ref-Attribut

an

② Suchen Sie das Instanzobjekt der untergeordneten Komponente gemäß dem Namen der angegebenen Referenz

this.$refs.mySon

Wenn die untergeordnete Komponente dies möchte Holen Sie sich die Daten der übergeordneten Komponente:

① Lesen Sie direkt
this.$parent
Erhalten Sie die Daten der untergeordneten Komponente über this.$refs

Code:


<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>组件间通信-01</title>
  <script src="js/vue.js"></script>
 </head>
 <body>
 <p id="container">
    <p>{{msg}}</p>
    <dahua></dahua>
  </p>
  <script>
  //vue提供的ref
    Vue.component("dahua",{
      data:function(){
        return{
          mySonName:""
        }
      },
      methods:{
      //通过$refs拿到指定的所引用的对应的组件的实例对象
        getSonName:function(){
          this.mySonName = this.$refs.mySon.name;
        }
      },
      template:`
        <p>
          <h1>这是父组件</h1>
          <button @click = "getSonName">获取子组件数据</button>
          <span>{{mySonName}}</span>
          <hr>
          <xiaohua ref="mySon"></xiaohua>
        </p>
      `
    })
//  创建子组件
    Vue.component("xiaohua",{
      data:function(){
        return{
          name:"小花"
        }
      },
      template:`
          <h1>这是子组件</h1>
      `
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>
Nach dem Login kopieren

Die untergeordnete Komponente erhält die Daten der übergeordneten Komponente über $parent


<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>组件间通信-02</title>
  <script src="js/vue.js"></script>
 </head>
 <body>
 <p id="container">
    <p>{{msg}}</p>
    <dahua></dahua>
  </p>
  <script>
    //创建子组件
    Vue.component("dahua",{
      data:function(){
        return{
          myName:"大花"
        }
      },
      template:`
        <p>
          <h1>这是父组件</h1>
          <hr>
          <xiaohua></xiaohua>
        </p>
      `
    })
    //创建子组件
    Vue.component("xiaohua",{
      data:function(){
        return{
          msg:""
        }
      },
      template:`
        <p>
            <h1>这是子组件</h1>
            <p>{{msg}}</p>
        </p>
      `,
      created:function(){
        //在子组件创建完成时获取父组件的数据
        //保存在msg中在p标签中显示
          this.msg = this.$parent.myName;
      }
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP behandelt Auswahlprobleme auf Eltern-Kind-Ebene

react.js Datenbindung der Eltern-Kind-Komponente real Beispielanzeige für zeitbasierte Kommunikation

Eltern-Kind-Liste Lösungsideen für die Array-Sortiermethode

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Eltern-Kind-Kommunikation zwischen Vue-Komponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!