【问题标题】:Nested components in Vue.jsVue.js 中的嵌套组件
【发布时间】:2015-11-22 03:35:12
【问题描述】:

我很难创建每个层都包含模板的嵌套组件:

<wizard>
    <step name="first">Do this step first!</step>
    <step name="second">This should follow</step>
</wizard>

(完整示例:http://jsfiddle.net/maxhq/9o4qxd7t/

我只让模板为父组件为子组件工作,从不为两者工作。

  • 如果父组件没有模板并且与&lt;... inline-template&gt; 一起使用,则评估子组件(及其模板)(就像在http://jsfiddle.net/hajkrupo/3/ 中一样)
  • 如果父组件包含模板(即使带有特殊标签 &lt;content&gt;),则子组件不会被插入/评估

vue.js 可以解决这个问题吗?

【问题讨论】:

标签: javascript components vue.js


【解决方案1】:

如果您使用最新的 vue.js 版本(撰写本文时为 1.0.26),您的问题是使用 &lt;content&gt;&lt;/content&gt;,因为语法已更改为 &lt;slot&gt;&lt;/slot&gt;

JSFiddle

【讨论】:

    【解决方案2】:

    没有。 inline-template 表示您在那里定义内联模板:

    当此参数存在时,组件将使用其内部内容作为其模板,而不是嵌入内容。这允许更灵活的模板创作。

    你可以这样做:http://jsfiddle.net/8k335nrf/

    【讨论】:

    • 解决不了?这让我有点哭泣 :-( 我知道我可以按照您展示的方式编写它,但是我希望将其视为组件内部的标记必须暴露给“外部”世界。
    猜你喜欢
    • 2018-03-22
    • 2016-07-21
    • 2018-11-06
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2021-01-02
    • 2019-02-11
    相关资源
    最近更新 更多