Polymer ready vs connectedCallback

时间:2017-11-24 13:23:48

标签: polymer-2.x

我想知道ready()方法在聚合物中的重要性是什么,这种方法的准时初始化意义是什么?read()和{{1}之间有什么区别? } ????

2 个答案:

答案 0 :(得分:1)

以下内容应该有所帮助。

  

connectedCallback可以被多次调用

...

  

通常,connectedCallback中的所有设置工作都应与disconnectedCallback中的相关拆卸工作进行平衡;如果不是它通常意味着connectedCallback是错误的地方

...

  

在这一点上,很难设计一个用例,其中ready是唯一/最好的工作场所,尽管它们确实在非常具体的情况下不时出现。

...

  

就绪仅被调用一次,因此如果用户稍后更改属性值,则基于属性值完成的工作可能会失效

请参阅https://github.com/Polymer/polymer/issues/4108#issuecomment-258983943

答案 1 :(得分:0)

他们都有相同的"目标"。在元素放入dom之后提供一种做某事的方法。

ready是聚合物特定的,而connectedCallback在规范中。

因此,如果您有一个vanilla webcomponent,则只有connectedCallback可用。对于聚合物元素,您仍然可以使用ready(特别是如果您从Polymer 1转换元素)

但是这里有一些时间差异: https://www.polymer-project.org/2.0/docs/upgrade#custom-elements-apis

  

准备回调,用于一次性初始化,表示创建   元素的影子DOM。对于基于类的元素,您   需要在访问影子树之前调用super.ready()。

     

1.x和2.0之间的主要区别与时间有关   初始轻的DOM分布。在v1 shady DOM polyfill中,首字母   将子进程分配到异步(microtask)中   创建shadowRoot,意味着在观察者之后发生分配   运行并准备就绪。在Polymer 1.0垫片中,初始   分发发生在准备好之前。