微信小程组件事件、数据子传父、父组件接收收据

微信小程组件事件、数据子传父父组件接收

<!-- 组件 wxml -->
<button bindtap="onTap">点击按钮</button>
// 组件 js
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>
// 父 js
funcName: function(e) {
    console.log(e.detail);  // 自定义组件触发的时候。提供的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) {}  

也可以用简单粗暴的方式,获取子组件,数据,方法等就都可以用了

   //根据ID获取组件对象
    var myComp= this.selectComponent('#myComp');
    //访问属性,使用data访问内部属性和组件属性
    console.log(myComp.data);
    //执行操作
    myComp.onTap();
发布了5 篇原创文章 · 获赞 6 · 访问量 6906

猜你喜欢

转载自blog.csdn.net/weixin_41711599/article/details/105425583
今日推荐