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

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

好啦  大功告成!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值