1. 程式人生 > >微信小程序組件通信(一)

微信小程序組件通信(一)

ont change 傳遞參數 style 填寫信息 ram type ext 需要

  當我們擼前端頁面的時候,當發現一個頁面內容很多、且有一定的分類,就應當考慮是否需要將頁面拆分成一個個組件。當使用組件的時候,不可避免的需要知道父子頁面通信以及兄弟頁面的通信。

  1、父向子通信 是通過properity去傳遞即可。properity是組件對外屬性,有三個屬性:type(必須)、value、observer。

  父組件:

<view>*********我是父組件********</view>
<view>父組件的文字</view>
<view>這是childB文本輸入框傳的值{{paramB}}</view>
<view>*****我是子組件A*******</view> <childA dataChildA=‘{{gotoChildA}}‘/>

  子組件:先在properity定義傳遞的參數,然後就可以直接在wxml中獲得這個參數

properties: {
    dataChildA:String
},
<view>我是childA的內容</view>
<view>{{dataChildA}}</view>

  2、子向父通信 可以通過triggerEvent進行傳遞參數

  子組件:

<view
>我是childB的內容</view> <input type=‘text‘ bind:change=‘getData‘ placeholder=‘請填寫信息‘/>
getData(e){
    console.log(e)
    let detail=e.detail.value
    let value={val:detail} //必須傳遞參數是對象
    this.triggerEvent(‘myevent‘,value)//myevent需要與父組件的事件保持一致
 }

  父組件:      

 <view>*****我是子組件B*******</
view> <childB bind:myevent="onMyEvent"/>
onMyEvent(e){
    console.log(e)
    this.setData({
      paramB:e.detail.val
    })
  },

tips:triggerEvent有三個參數(事件,要傳遞的對象,觸發事件的選項)

微信小程序組件通信(一)