父组件页面是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>













