关于模板解析,文档说:
尽管在简单的情况下它可能会起作用,但您不能依赖在浏览器验证之前扩展自定义元素。
<my-select><option>...</option></my-select>
即使my-select
组件最终扩展为 .eg 也不是有效的模板<select>...</select>
。
这让我想知道:在任何情况下,在自定义元素的开始标签和结束标签之间放置内容是有用的吗?在我看来,这样的内容被丢弃了。也许beforeCompile
代码中有什么?
关于模板解析,文档说:
尽管在简单的情况下它可能会起作用,但您不能依赖在浏览器验证之前扩展自定义元素。
<my-select><option>...</option></my-select>
即使my-select
组件最终扩展为 .eg 也不是有效的模板<select>...</select>
。
这让我想知道:在任何情况下,在自定义元素的开始标签和结束标签之间放置内容是有用的吗?在我看来,这样的内容被丢弃了。也许beforeCompile
代码中有什么?
您可以使用<slot>
元素获取组件中的内容。有关更多信息,请参阅文档。
顺便说一句,该警告仅适用于 Vue 1.0。在即将发布的 2.0 版本中,模板将在 DOM 之外编译,因此自定义元素将始终在浏览器验证之前展开。
它没有被扔掉。正如约瑟夫所说,您可以将其插入,<slot>
您只需确保不会创建无效的 HTML 结构。
您可以使用该is
属性来处理需要对组件使用无效 HTML 结构的情况。这种情况在表格中经常发生,您可以使用:
<table>
<tr is="my-component">
代替
<table>
<my-component>
确保您的代码符合 HTML