我想要一个复杂的观察者来观察数组和属性的变化:
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
,它们按预期工作,在初始化时被触发。(编辑:这个行为有一个问题)
同时观察数组变化和属性变化的正确方法是什么?
试试这个
observers: [
'onChange(prop, list.*)',
],
我目前的解决方法是有两个观察者调用同一个函数:
observers: [
'onChange(prop, list.splices)',
'onChange(prop, list)',
],