【问题标题】:Custom elements good for markup only?自定义元素仅适用于标记?
【发布时间】:2019-06-28 18:59:58
【问题描述】:

要创建自定义组件,我们可以使用自定义元素。即使我们像我一样不使用自定义组件,也可以使用自定义元素作为标记。我现在使用Vue

改为:

<div class="row>

我可以用这个:

<t-row>

它有点短,而且模板很大,它会节省相当多的代码大小。

我对这种方法有几个问题:

  • 一般来说哪个性能更好? div 还是自定义元素?数字字符有多重要?我有一张大桌子,屏幕上可能同时有 1000 个元素。一个元素的小小表现可能会产生大影响。
  • 当自定义组件未绑定到自定义元素时,使用自定义元素是否是一种好习惯?
  • 在 Vue 中,我们可以添加 ignoredElements 来忽略像 [/^t-/] 这样的元素。这将如何影响性能?

这一切都归结为一个问题......

如果我觉得可以节省时间并提高可读性,我是否应该使用自定义元素作为标记?解释原因。

【问题讨论】:

  • 自定义元素没有固有的样式或语义含义。对于所有用户的可访问性,如果您以编程方式添加这些语义,则应仅使用自定义元素。尽可能始终使用语义 HTML 元素。
  • @sean 从语义上讲,在这种情况下简单地使用tr 并覆盖它是有意义的,但感觉有点不对,因为我使用了一个网格,但从视觉上看,它是一个表格。你会使用div?
  • 这取决于元素的内容。可能是trdivlisectionarticlefigure

标签: html markup custom-element


【解决方案1】:

对问题 #2 的回答,论证为什么这样做:

GZip

您必须考虑 GZip

是的&lt;div class="row"&gt; 需要输入更多
但实际上可能会创建一个较小的文件传递给浏览器
因为你经常使用它而 GZip 将这 17 个字节编码为几个 BITS

好代码

恕我直言,开发人员应该考虑将最好的代码交付给他/她的继任者,
与优化无关,他/她是唯一理解的人。

&lt;t-row&gt; 的第一反应将是Fuk 在这里发生了什么
不是哦,这是可读的

命名空间

另一个恕我直言

不要仅仅因为你想创建一个自定义元素就使用t-

命名空间应该有意义。

【讨论】:

    猜你喜欢
    • 2014-09-05
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2015-03-28
    相关资源
    最近更新 更多