我想要一个复杂的观察者来观察对数组和属性的更改:
properties: {
list: {
type: Array,
value: ["foo"],
},
prop: {
type: Number,
value: 10,
}
},
observers: [
'onChange(prop, list.splices)',
],
onChange: function() {
console.log('something changed!');
},
只有在原始列表中发生更改后才会起作用,但在初始化两个属性后都不会触发,也不会在原始列表中的任何更改之前prop
更改时触发。
奇怪的是,如果我放置两个观察者,一个用于prop
,一个用于list.splices
,它们按预期工作,在初始化时触发。 (编辑:此行为有an issue)
同时观察阵列突变和属性变化的正确方法是什么?
答案 0 :(得分:2)
试试这个
observers: [
'onChange(prop, list.*)',
],
答案 1 :(得分:0)
我目前的解决方法是让两个观察者调用相同的函数:
observers: [
'onChange(prop, list.splices)',
'onChange(prop, list)',
],