微信小程序自定义组件传值 页面和组件相互传数

要想在组件中调到页面中的方法,并且想要组件中传数据到页面去,emmmm,可以酱紫:

用组件事件 triggerEvent!

首先,在页面中定义组件 ,json文件中记得加上:

{ "usingComponents": { "user-btn": "/pages/component/userInfo/userInfo" } },

然后,index.wxml~

index.wxml

... <user-btn show="{{userShow}}" bind:showTab="showTab"></user-btn> ...

到了组建:

// 与页面衔接 触发页面中的方法并传数据 this.triggerEvent('showTab', res.data);

res.data就是组件中请求到的数据;

回到index.js,他的showTab方法~

showTab:function(e){ console.log('this is showtabBar'); console.log(e.detail); },

那么这个e.detail就能获取到组件中的res.data的数据啦~

当然 要想从页面中带数据到组件:

譬如刚刚index.wxml中的show,在页面中的index.js可以随意控制userShow的值:

index.wxml

... <user-btn show="{{userShow}}" bind:showTab="showTab"></user-btn> ...

然后在组建中,便可以这样取到我们从页面中传入的值。

properties: { //对外属性,即如果外部的wxml文件传入数据时,会把数据设置成properties的属性 'show':{ type:Boolean, value:'', observer: function (newVal, oldVal) { console.log(newVal) } }, }, ready:function(){ console.log(this.properties); },

好啦  大功告成!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/51225e7677deda746a4c1d9b9a9e474d.html