组件的数据监听好像无法动作
发布于 5 年前 作者 chao81 2867 次浏览 来自 问答

我在使用文档中推荐的方法来监听组件属性变换时,发现组件的父页面使用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 回复

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

回到顶部