问答详情
源自:3-4 vue-router介绍

标签闭合问题

App.vue文件中,为什么有一个未闭合的

<router-view/>

标签

提问者:qq_超级马里奥_0 2019-01-15 10:45

个回答

  • Brian
    2019-01-15 11:29:09
    已采纳

    这里可以参考官方的风格指南-自闭合组件,也可以这样写:

    <router-view></router-view>

    参考资料:

    Self-closing component tags

    其中作者也作出了解释。

    然后我们再来看看,风格指南中的摘出:

    不幸的是,HTML 并不支持自闭合的自定义元素——只有官方的“空”元素。所以上述策略仅适用于进入 DOM 之前 Vue 的模板编译器能够触达的地方,然后再产出符合 DOM 规范的 HTML。

    官方的意思很明显:

    简单来说,在html中是不允许的,这种自闭合的写法是XHTML的语法。所以在.vue结尾的template中,是可以使用的。

    谢谢您的支持。

  • TwilightNamigu
    2019-08-07 15:40:58

    老师,我一开始写的就是 

    <router-view>
      <ul>
        <li><router-link :to="{name:'list'}">新闻列表</router-link></li>
        <li><router-link :to="{name:'user'}">个人中心</router-link></li>
      </ul>
    <<router-view/>

    但是下面无法显示这两个 router link

    https://img3.mukewang.com/5d4a7fac0001524c07430076.jpg

    我找了很久问题 ,发现把 组合标签 router-view 改成 自闭合就能出来 这是为什么啊,虽然指南里面说了 在单 组件中 应该是自闭合,但还是搞不懂

  • qq_超级马里奥_0
    2019-01-15 15:57:55

    就是说在模版编译后会编译成符合规则的html代码再进行渲染吧,谢谢老师啦