收藏
回答

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

框架类型 问题类型 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,就无效了!



回答关注问题邀请回答
收藏

2 个回答

  • 我是木头
    我是木头
    2019-04-15

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

    2019-04-15
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-04-08

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

    2019-04-08
    有用
    回复 2
登录 后发表内容