我在使用文档中推荐的方法来监听组件属性变换时,发现组件的父页面使用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.6.0以上就没问题了,感谢提示
请提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
这是写好的代码片段链接 https://developers.weixin.qq.com/s/Fj2dGumG7N7gPS:视乎只有2.6.0以下基础库版本会有这个小问题!
这个方法有版本限制,2.6.1以上开始支持