微信小程组件事件、数据子传父父组件接收
<!-- 组件 wxml -->
<button bindtap="onTap">点击按钮</button>
onTap: function() {
var myEventDetail = {};
var myEventOption = {};
this.triggerEvent('myevent', myEventDetail, myEventOption)
},
<!-- 父 wxml -->
<view>
<component class="my-class" bind:myevent="funcName">
<text slot="before">这是文字</text>
</component>
</view>
funcName: function(e) {
console.log(e.detail);
}
trigger 扣动扳机,触发事件。
组件里triggerEvent里的'myevent'和父wxml里的bind:后面的'myevent'对应,
bindtap=bind:tap,两种写法都可以,
类似原生事件的tap,点击,触摸等事件。
父页面里,监听这个事件。同监听原生事件一样。比如:
wxml==>bind:tap="clickMe";点击事件,由'clickMe'触发
js==> clickMe: function(e) {}
这里监听'myevent'这个事件,由'funcName'触发
即:wxml==>bind:myevent="funcName";
js==> funcName: function(e) {}
也可以用简单粗暴的方式,获取子组件,数据,方法等就都可以用了
var myComp= this.selectComponent('#myComp');
console.log(myComp.data);
myComp.onTap();