Polymer ready vs connectedCallback

问题描述 投票:2回答:2

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

polymer-2.x
2个回答
1
投票

以下应该有所帮助。

connectedCallback可以被多次调用

...

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

...

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

...

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

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


0
投票

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

ready是聚合物特定的,而connectedCallback是规格。

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.