微信小程序中的传值问题

父传子-------->子组件用 properties:{} 接收值

父组件:

1.配置 json 引用子组件

"usingComponents": {
    "list":"/components/list/list"
  }
wxml 文件


<list newGoodsList="{{newGoodsList}}" msg="周一周四·新品首发"></list>

子组件中的js文件(用 properties:{} 接收值);在wxml文件中用{{msg}}获取对应的值

Component({
    properties:{
      newGoodsList:{
          type:Array,
          value: [],
        },
        msg:{
          type:String,
          value: "",
        }
    }
  })

子传父

我们尝试点击 product 组件中的任意一项,来触发父级的事件(productTap)。

<!-- 子组件wxml -->

<view class="product_list">

  <view wx:for="{{showArr}}" wx:key="*this" class="product_list_box" 

bindtap="productTap">
    ...
  </view>

</view>
// components/product/product.js
Component({
  ...,
  // 如果是组件,不是页面,就必须写methods
  methods: {
    productTap(){
  		// 小程序中子传父通过triggerEvent来实现
      this.triggerEvent('fatherEvent', 100);
    }
  }
})

父组件:

<!-- 标签上使用bind来接收子组件传过来的事件 -->
<product-block showArr="{{showArr}}" bind:fatherEvent="fatherEventFn" />
Page({
  ...,
  // 页面无需写methods
  fatherEventFn(data){
    console.log(data.detail); // 100
  }
})

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值