微信小程序——子组件接收参数变化时如何监听

1. 使用场景

当父组件传值给子组件时,有时会出现一开始为空,网络请求或者各种操作之后这个值才真正的传过去

<t-activity-sites curPath="{{curPath}}"/>

此时,我们在子组件中,若使用该属性来发起网络请求会出现问题,那么我们需要一种情况,在子组件中监听这个属性curPath的变化,当这个值存在时,再发起网络请求

2. 实现(使用observer)

  data:{
    currentPath:'',
  },
  properties: {
    curPath:{
      type:String,
      observer:function(newVal){ // 监听curPath属性变化,若这个值存在,且与即将附在data中的值不同,就满足我们的要求可以进行后续操作啦
        if(newVal && this.data.currentPath !== newVal){
          this.setData({
            currentPath:newVal
          })
          this.getAllActivitySites();
        }
      }
    }
  },

总结用法,希望可以帮助到你,
我是Ably,你无须超越谁,只要超越昨天的自己就好~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
组件接收组件传递的方法的一种方式是通过使用triggerEvent方法来触发一个自定义事件,并将父组件传递的方法作为参数传递给组件。 具体实现方法如下: 在组件的js文件中,通过triggerEvent方法触发一个自定义事件,并将父组件传递的方法作为参数传递给组件.js: ``` // 组件的js文件 Component({ methods: { // 组件触发调用父组件的方法,并将参数传递给父组件 triggerParentMethod() { // 父组件传递的方法作为参数传递给组件 this.triggerEvent('parentMethod', {param: 'hello'}, {}) } } }) ``` 在父组件的wxml文件中绑定组件触发的自定义事件,并在父组件的js文件中定义接收该事件的方法。 父.wxml: ``` <!-- 父组件的wxml文件 --> <child-component bind:parentMethod="handleParentMethod"></child-component> ``` 父.js: ``` // 父组件的js文件 Page({ // 接收组件传递的方法 handleParentMethod(e) { // 组件传递的参数可以通过e.detail获取 console.log(e.detail) // {param: 'hello'} } }) ``` 通过以上方法,组件可以接收并触发父组件传递的方法,并将参数传递给父组件。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [微信小程序 组件传值给父组件,调用父组件函数](https://blog.csdn.net/weixin_43452154/article/details/126770872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [微信小程序组件组件传递数据](https://blog.csdn.net/weixin_48719720/article/details/124005537)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值