现在Object.observe()
在 Chrome 中默认启用,我遇到了一堆我想重用浏览器的内置属性 ( hidden
, title
, draggable
) 的情况,但是*Changed
当属性更改时不再调用观察者。
一个例子是hidden
:http: //jsbin.com/jizikaje/1/edit(hiddenChanged()
从不调用)
我目前的解决方法是用来attributeChanged()
观察属性变化:
attributeChanged: function(attrName, oldVal, newVal) {
// Cannot use *Changed watchers for these native properties.
if (attrName == 'hidden') {
this.marker.setVisible(!this.hidden);
}
}
推荐的方法是什么?
顺便说一句,尝试使用本机属性时发出警告将需要很长时间才能进行调试:https ://github.com/Polymer/polymer/issues/379