似乎任何给定属性的更改事件处理程序都会触发,即使在第一次使用该属性的默认值以外的值初始化元素时也是如此。
例如,假设我有以下自定义 Polymer 元素。
<polymer-element name="some-thing" attributes="name">
<script>
Polymer({
name: 'John Jacob Jingleheimer Schmidt',
nameChanged: function (oldValue, newValue) {
console.log('name changed from ' + oldValue + ' to ' + newValue);
}
});
</script>
</polymer>
当我在我的标记中包含这个元素时,名称更改事件处理程序会立即触发,即使我在概念上不是“更改”值而是初始化它。
<some-thing name="Peter Peter Pumpkin Eater"></some-thing>
我只希望在外部代码修改元素名称属性的值时触发事件处理程序。有没有办法可以设置事件处理程序以这种方式运行?