微信小程序> 小程序子组件传值给父组件

小程序子组件传值给父组件

浏览量:4562 时间: 来源:linda`li

父组件页面是carts.wxml 子页面是product.html

子组件wxml代码

<view class='cartAllSel'  bindtap="bindSelectAll"  >    <icon wx:if="{{selectedAllStatus}}" class='iconDel' type='success' color='#4D4D4D' size="20" ></icon>    <icon  class='iconDel' wx:else  type="circle" size="20"></icon>    <text class='product-title'>全选</text></view>

子组件js代码

 methods: {    //购物车全选    bindSelectAll: function (e) {      var that =this;      var allChecked = !this.data.selectedAllStatus;      var carts = this.data.productList;      for (var i = 0; i < carts.length; i++) {        carts[i].selected = allChecked;      }      if (allChecked){        this.data.checkedNum = carts.length;      }else{        this.data.checkedNum=0;      }      //需要添加部分,traCheckedNum是父页面调用需要        var checkeddata = { checkedNum: this.data.checkedNum};      this.triggerEvent("traCheckedNum", checkeddata )            this.setData({        productList: carts,        selectedAllStatus: allChecked,      })    },}

父页面 carts.wxml

需要在子组件处添加 bind:traCheckedNum="checkNum"  checkNum是父js中的方法

<ProductList  bind:traCheckedNum="checkNum" productList="{{cartList}}" listType="{{'cart'}}"></ProductList>

 

父页面 carts.js

注意checkNum方法是不能写在Methods中不然小程序会报找不到该组件,就和data平级就可以

checkNum: function (e) {    this.setData({      checkedNum: e.detail.checkedNum,    })    console.log(e.detail.checkedNum) }

父页面carts.wxml引用值

 <view>已选 {{checkedNum}}</view>

 

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎