【发布时间】:2018-09-21 02:53:03
【问题描述】:
我刚开始学习 HTML 自定义元素,通过阅读一系列介绍、教程和文档,我认为我对它的工作原理有了很好的了解,但我对正确使用方法有一个哲学问题或不使用<template> 标签。
自定义元素使您能够封装新功能,简化 HTML 文档的结构,并允许您简单地插入 <my-custom-element>...</my-custom-element> 标记而不是 <div class="my-custom-element"><span class="part1">...</span><span class="part2">...</span></div>。
元素的类定义然后设置该元素的结构和功能。然后一堆教程描述了如何使用<template>...</template> 和<slot>...</slot> 来设置自定义元素的内容。然后,您必须在要使用该元素的每个 HTML 文档中包含模板代码,而不是在自定义元素类的构造函数中设置它。这是否与自定义元素有助于简化和封装功能以使其更便携的事实背道而驰?还是我误解了文档中模板的正确使用和/或放置方式?
通过 SO,我能找到最接近解决这个问题的是这个问题:
How to stamp out template in self contained custom elements with vanilla js?
但答案基本上回避了这一切并说“不要使用<template>”,因此并没有真正消除我的困惑。
【问题讨论】:
标签: javascript html web-component custom-element html5-template