而不是:
聚合物({ 观察:{ 'key1':'onDataChange', 'key2':'onDataChange' },
可以以编程方式为任何数据属性数据更改(顶级)执行观察器函数吗?我尝试通过循环遍历this.attributes来创建一个观察块对象后设置this.observe,但这不起作用。
答案 0 :(得分:0)
我认为在observe
块的键中不支持“通配符”,但是您可以指定一个以空格分隔的属性列表,这些属性共享相同的数据更改的观察器功能。
E.g。
observe: {
'key1 key2': 'onDataChange'
}
您可以看到它的真实示例in the <google-youtube-video-wall>
element。
(我不确定为什么它是not documented。我会跟进。)
使用observe
块的替代方法是为attributeChanged
element lifecycle event添加回调,例如:
Polymer({
// ...
attributeChanged: function(attrName, oldVal, newVal) {
console.log(attrName, 'old: ' + oldVal, 'new:', newVal);
}
// ...
});