收藏
回答

组件的数据监听好像无法动作

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 客户端 7.0.3.1400 2.6.5

我在使用文档中推荐的方法来监听组件属性变换时,发现组件的父页面使用setData设置组件的字段值,组件内部监听没有反应,不知道是不是我使用的姿势不对, 父页面:

<LineChart pointdata="{{StraightnessList}}"></LineChart> StraightnessList是一个数组,一维,

组件的js文件中:

/**
   * 组件的属性列表
   */
  properties: {
    pointdata:{
      type:Array,
      value:[],
      observer(newVal, oldVal, changedPath) {
        // 属性被改变时执行的函数(可选),通常 newVal 就是新设置的数据, oldVal 是旧数
        // 新版本基础库不推荐使用这个字段,而是使用 Component 构造器的 observer 字段代替(这样会有更强的功能和更好的性能)
        console.log('数据改变',newVal);
      }
    }, //数据数组
}

我使用推荐的方式,在Component中定义字段!

/**
   * 数据监-听
   */
  observers:{
    'pointdata': function(pointdata) {
      // 在 numberA 或者 numberB 被设置时,执行这个函数
      console.log('组件点数据', pointdata);
    }
  },

我发现下面的log,始终无法输出,而 属性列表中的方法,能很正常的输出,组件内的setData应该是可以的,文档例子中就是在组件内setData,但是在组件父页面 setData,就无效了!



最后一次编辑于  04-07  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    04-08

    请提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    04-08
    赞同
    回复 2
    • simple
      simple
      04-08

      这是写好的代码片段链接   https://developers.weixin.qq.com/s/Fj2dGumG7N7gPS:视乎只有2.6.0以下基础库版本会有这个小问题!

      04-08
      2
      回复
    • ~旭~H
      ~旭~H
      06-03回复simple

      这个方法有版本限制,2.6.1以上开始支持

      06-03
      1
      回复
  • 我是木头
    我是木头
    04-15

    我这里也是,基础库升级到2.6.0以上就没问题了,感谢提示

    04-15
    赞同
    回复