0

关于模板解析,文档说:

尽管在简单的情况下它可能会起作用,但您不能依赖在浏览器验证之前扩展自定义元素。<my-select><option>...</option></my-select>即使my-select组件最终扩展为 .eg 也不是有效的模板<select>...</select>

这让我想知道:在任何情况下,在自定义元素的开始标签和结束标签之间放置内容是有用的吗?在我看来,这样的内容被丢弃了。也许beforeCompile代码中有什么?

4

2 回答 2

2

您可以使用<slot>元素获取组件中的内容。有关更多信息,请参阅文档

顺便说一句,该警告仅适用于 Vue 1.0。在即将发布的 2.0 版本中,模板将在 DOM 之外编译,因此自定义元素将始终在浏览器验证之前展开。

于 2016-09-11T02:51:52.567 回答
1

它没有被扔掉。正如约瑟夫所说,您可以将其插入,<slot>您只需确保不会创建无效的 HTML 结构。

您可以使用该is属性来处理需要对组件使用无效 HTML 结构的情况。这种情况在表格中经常发生,您可以使用:

<table>
  <tr is="my-component">

代替

<table>
  <my-component>

确保您的代码符合 HTML

于 2016-09-11T06:15:59.847 回答