微信小程式-父子元件傳值
阿新 • • 發佈:2020-11-03
父元件:
繫結的一個屬性(btns),(子元件名可以使駝峰大寫,也可以小寫)
<order-button bind:viewPageReloadFuc="onViewPageReloadFuc" btns="{{item.orderControlBtns}}"></order-button>
父元件引用子元件
{ "navigationBarTitleText": "我的訂單", "usingComponents": { "order-button": "/components/order-button/order-button" } }
onViewPageReloadFuc(e){ console.log("子元件觸發並傳過來的引數值", e.detail.cao) },
子元件:
<view wx:for="{{btns}}" wx:key="index"> <view catchtap="buttonClick" data-btn="{{item}}">{{item.desc}}</view> </view>
在子元件的json中,把自己定義為子元件
{ "component": true }
在properties裡定義的是元件對外要開發的屬性,在data裡定義的是在元件裡自己使用的私有的資料;
我們不要把data和properties裡的變數設定成同一個名字,如果他們名字相同,properties裡的會覆蓋data裡的。
Component({ data: { }, properties: { btns: { type: Array, value: [] } }, methods: { buttonClick(e){ let btn = e.currentTarget.dataset.btn; // 一鍵復購 if(btn.state == 'buyAgain'){this.triggerEvent('viewPageReloadFuc', {cao: '草'})
//子元件傳給父元件一個事件
}
}
}