For me 本文 https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation也很有帮助,它涵盖了注册观察者的方法以及 Justin XL 建议的拼接方法。
注册观察员:
properties: {
users: {
type: Array,
value: function() {
return [];
}
}
},
observers: [
'usersAddedOrRemoved(users.splices)'
],
CallingPolymer 1.0 方式的拼接方法:
this.push('users', 'TestUser');
https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation
仅供参考 - 这不适用于所有情况(我最初的想法)当您在属性声明中注册观察者时,如下所示:
properties: {
users: {
type: Array,
value: function() {
return [];
},
observer: 'usersAddedOrRemoved'
}
},
在这种情况下usersAddedOrRemoved
仅当您将新数组分配给 users 对象时才会调用方法。然而,当你通过压入、弹出、拼接等方式改变数组时,它不会触发。