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