聚合物:确定何时加载了属性?

时间:2016-01-30 23:21:25

标签: polymer polymer-1.0

我知道attached函数不保证会加载属性。

现在,我一直在使用依赖于属性的computed函数,但它非常笨重。

我也使用了async,但我发现它是不一致和任意的(只是选择一个随机时间延迟)。

我找不到任何关于处理这个问题的正确方法。

2 个答案:

答案 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.
  },

注意,使用单个观察者时,它们将按照设置的顺序触发。因此,如果someproperty1someproperty2具有绑定到它们的特定观察者,则someproperty1具有的方法将首先执行。

要阅读有关观察员的更多信息,请阅读: https://www.polymer-project.org/1.0/docs/devguide/observers#multi-property-observers