我知道attached
函数不保证会加载属性。
现在,我一直在使用依赖于属性的computed
函数,但它非常笨重。
我也使用了async
,但我发现它是不一致和任意的(只是选择一个随机时间延迟)。
我找不到任何关于处理这个问题的正确方法。
答案 0 :(得分:3)
您可以使用观察员。
例如你
properties:{
someproperty:{type:Number,observer:'change'}
},
change:function(){
//this function called when the property changes.
}
有关详细信息,请查看https://www.polymer-project.org/1.0/docs/devguide/properties.html
答案 1 :(得分:0)
除了Alon的回答:如果你想观察几个属性,那么你可以使用这样的东西:
properties:{
someproperty1:{
type: Number,
}
someProperty2:{
type: Number,
}
},
observers: ['change(someproperty1, someproperty2)'],
change:function(property1, property2){
//this function called when the property changes.
},
注意,使用单个观察者时,它们将按照设置的顺序触发。因此,如果someproperty1
和someproperty2
具有绑定到它们的特定观察者,则someproperty1
具有的方法将首先执行。
要阅读有关观察员的更多信息,请阅读: https://www.polymer-project.org/1.0/docs/devguide/observers#multi-property-observers