什么是正确的顺序包括点亮的元素融入我的脚本?

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

比方说,我有这样的HTML:

<outer-element>
  <inner-element></inner-element>
</outer-element>

inner-elementouter-element从LitElement延伸自定义元素。

是否有规定的顺序包括定义这些元素融入我的脚本文件?

例如 A.

import './inner-element.js';
import './outer-element.js';

VS B.

import './outer-element.js';
import './inner-element.js';

我注意到,包容的顺序确定的元素呈现的顺序。也就是说,A导致render()被称为在所述内,然后将外。而B引导到render()正在呼吁外,然后内。

一个活生生的例子,在那里你可以切换顺序和看到的结果在控制台提供here

我的(幼稚)的直觉是,为了渲染将由HTML页面的结构来决定。相反,它似乎是确定通过的Javascript的顺序包括。这使我想知道:是正确的顺序?

custom-element lit-element
1个回答
1
投票

从HTML解析器立场来看,认为是正确的顺序应该是元素(你的直觉)的出场顺序。

但是从JavaScript执行的观点......这取决于作者和开发者的意图。


一般情况下,除非你是作者和自定义元素的用户都,你可以不知道自定义元素是否之前或解析之后定义,也没有在这2个不同的元素定义的顺序。

因此,作为一个Web组件的作者,你应该尝试开发其渲染是不依赖于定义的顺序(尽可能)自定义元素。否则,让它在文件中明确。

作为一个Web部件消费者/用户,你应该知道(你知道)的异步下载脚本和模块的延迟确定指标的副作用。

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