真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue.js2.0中怎么實(shí)現(xiàn)父組件點(diǎn)擊觸發(fā)子組件

今天就跟大家聊聊有關(guān)vue.js2.0中怎么實(shí)現(xiàn)父組件點(diǎn)擊觸發(fā)子組件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),定西企業(yè)網(wǎng)站建設(shè),定西品牌網(wǎng)站建設(shè),網(wǎng)站定制,定西網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,定西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

 
   
   

{{ total }}

              
       

子組件通過$emit觸發(fā)父組件的事件,$emit后面的參數(shù)是向父組件傳參,注意,父組件的事件處理函數(shù)直接寫函數(shù)名即可,不要加(),參數(shù)直接傳遞到了父組件的methods的事件處理函數(shù)了。

另外,寫一個(gè)小拾遺。vue子組件用了定義模板組件功能,然后在父組件里定義一個(gè)HTML元素綁定這個(gè)子組件后才能在父組件通過這個(gè)HTML元素使用。

再說一個(gè)非常方便的v-ref

 
 
 
   
  Document 
   
 
 
  
   
   
    
          

Vue2.0組件間數(shù)據(jù)傳遞

Vue1.0組件間傳遞

  1. 使用$on()監(jiān)聽事件;

  2. 使用$emit()在它上面觸發(fā)事件;

  3. 使用$dispatch()派發(fā)事件,事件沿著父鏈冒泡;

  4. 使用$broadcast()廣播事件,事件向下傳導(dǎo)給所有的后代

Vue2.0后$dispatch(),$broadcast()被棄用,見https://cn.vuejs.org/v2/guide/migration.html#dispatch-和-broadcast-替換 

1,父組件向子組件傳遞場景:Father上一個(gè)輸入框,根據(jù)輸入傳遞到Child組件上。

父組件:



子組件:



2,子組件向父組件傳值場景:子組件上輸入框,輸入值改變后父組件監(jiān)聽到,彈出彈框

 父組件:


子組件: 


vue2.0父子組件以及非父子組件如何通信

1.父組件傳遞數(shù)據(jù)給子組件

父組件數(shù)據(jù)如何傳遞給子組件呢?可以通過props屬性來實(shí)現(xiàn)

父組件:


  //這里必須要用 - 代替駝峰


data(){
  return {
    msg: [1,2,3]
  };
}

子組件通過props來接收數(shù)據(jù):

方式1:

props: ['childMsg']

方式2 :

props: {
  childMsg: Array //這樣可以指定傳入的類型,如果類型不對,會警告
}

方式3:

props: {
  childMsg: {
    type: Array,
    default: [0,0,0] //這樣可以指定默認(rèn)的值
  }
}

這樣呢,就實(shí)現(xiàn)了父組件向子組件傳遞數(shù)據(jù).

2.子組件與父組件通信

那么,如果子組件想要改變數(shù)據(jù)呢?這在vue中是不允許的,因?yàn)関ue只允許單向數(shù)據(jù)傳遞,這時(shí)候我們可以通過觸發(fā)事件來通知父組件改變數(shù)據(jù),從而達(dá)到改變子組件數(shù)據(jù)的目的.

子組件:



methods: {
  up() {
    this.$emit('upup','hehe'); //主動觸發(fā)upup方法,'hehe'為向父組件傳遞的數(shù)據(jù)
  }
}

父組件:

   //監(jiān)聽子組件觸發(fā)的upup事件,然后調(diào)用change方法
methods: {   change(msg) {     this.msg = msg;   } }

3.非父子組件通信

如果2個(gè)組件不是父子組件那么如何通信呢?這時(shí)可以通過eventHub來實(shí)現(xiàn)通信.

所謂eventHub就是創(chuàng)建一個(gè)事件中心,相當(dāng)于中轉(zhuǎn)站,可以用它來傳遞事件和接收事件.

let Hub = new Vue(); //創(chuàng)建事件中心

組件1觸發(fā):

methods: {   eve() {     Hub.$emit('change','hehe'); //Hub觸發(fā)事件   } }

組件2接收:

created() {   Hub.$on('change', () => { //Hub接收事件     this.msg = 'hehe';   }); }

看完上述內(nèi)容,你們對vue.js2.0中怎么實(shí)現(xiàn)父組件點(diǎn)擊觸發(fā)子組件有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


本文題目:vue.js2.0中怎么實(shí)現(xiàn)父組件點(diǎn)擊觸發(fā)子組件
文章源于:http://weahome.cn/article/geeshc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部