【问题标题】:Is it possible to use more than one "template" element in one component in vuejs?是否可以在 vuejs 的一个组件中使用多个“模板”元素?
【发布时间】:2019-03-13 01:36:57
【问题描述】:

在阅读 Vue 的官方指南here 时,我的脑海中触发了这个问题。

我不知道在继续阅读官方指南的更多内容时是否能找到这个问题的答案,但我很想知道这是否可能。

嗯,等我知道答案后,我会在这里更新。

Screenshot from official guide

【问题讨论】:

  • 只要它在组件的模板中,就可以。比如
  • 这行得通,但我对多个 <template> 元素作为兄弟姐妹特别感兴趣。我发现你可以有多个 <template> 元素作为兄弟姐妹,特别是在 SFC's 的情况下,但其中最后一个被认为是渲染的。好吧,如果我们在它们上面放置一个像v-if 这样的条件指令,那么单个组件可以有条件地呈现不同的模板,如here 所示。

标签: vue.js


【解决方案1】:

组件必须使用单个模板或组件选项对象,并且该模板必须提供单个根元素才能挂载。模板内部转换为render函数,vue只能有1个render函数。

但是,您的组件又可以包含一个动态的组件。 https://vuejs.org/v2/guide/components-dynamic-async.html

【讨论】:

  • 好吧,如果我们在它们上放置一个像 v-if 这样的条件指令,那么单个组件可以有条件地呈现不同的模板,如 here 所示。
  • 那些“模板”仍然必须包含在单个模板的单个元素中。还有component 标签。但是,OP 询问了一个组件中的多个模板,
猜你喜欢
  • 2017-03-18
  • 1970-01-01
  • 2019-02-16
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2013-01-21
  • 2013-08-25
  • 2019-03-23
相关资源
最近更新 更多