要想在组件中调到页面中的方法,并且想要组件中传数据到页面去,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);
},
好啦 大功告成!