1.命名视图

1.1 不命名是什么成果:

<template>  <div id="app">    <div class="header">      <div class="nav">        <div class="left-title" @click="handleClick">集体博客</div>        <div class="right-nav">          <router-link to="/">首页</router-link>          <router-link to="/article">文章</router-link>          <router-link to="/hot">近期热门</router-link>          <router-link to="/hy">行业相干</router-link>          <router-link to="/new">最新公布</router-link>          <router-link to="/about">对于</router-link>        </div>      </div>    </div>    <div class="container">      <router-view />      <router-view />      <router-view />    </div>  </div></template>

看看后果:

为什么会这样?因为三个路由视图渲染的是同一个组件。

1.2 命名视图怎么用:

router.js:

{  path: '/',  components: {    default: Home,    haveName: () => import("../components/haveName.vue"),  },},

app.vue:

<template>  <div id="app">    <div class="header">      <div class="nav">        <div class="left-title" @click="handleClick">集体博客</div>        <div class="right-nav">          <router-link to="/">首页</router-link>          <router-link to="/article">文章</router-link>          <router-link to="/hot">近期热门</router-link>          <router-link to="/hy">行业相干</router-link>          <router-link to="/new">最新公布</router-link>          <router-link to="/about">对于</router-link>        </div>      </div>    </div>    <div class="container">      <router-view />      <router-view name="haveName" />    </div>  </div></template>

成果:

值得注意的是这里必须应用复数模式:

总结

须要应用命名视图的场景并不多,但须要用到的时候要会配!


Keep foolish, keep hungry.