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.