VueRouter 命名视图
1. 前言
本小节我们介绍如何使用 VueRouter 命名视图。包括如何定义命名视图、如何使用命名视图。本节的学习内容相对简单,相信同学们看完本小节,并对小节中的案例自己实现一遍就可以熟练掌握了。
2. 定义视图名
2.1 默认视图
在之前的小节中,我们学习了如何使用 <router-view/> 来承载路由分发的内容。我们并没有给 <router-view/> 指定一个 name 属性,实际上他有一个默认的属性 default,我们以一个简单的实例来验证这一点:
实例演示
预览
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<div>
<router-link to="/index">首页</router-link>
<router-link to="/article">文章</router-link>
</div>
<router-view></router-view>
</div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script type="text/javascript">
const Index = Vue.component('index', {
template: '<div>Hello,欢迎使用慕课网学习 Vue 教程!</div>',
})
const Article = Vue.component('myArticle', {
template: `<ul><li>1. Vue 计算属性的学习</li><li>2. React 基础学习</li></ul>`,
})
const routes = [
{ path: '/index', components: {default: Index} },
{ path: '/article', components: {default: Article} }
]
const router = new VueRouter({
routes: routes
})
var vm = new Vue({
el: '#app',
router: router,
data() {
return {}
}
})
</script>
</html>
运行案例
点击 "运行案例" 可查看在线运行效果
代码解释:
HTML 代码第 12-13 行,我们定义了两个跳转链接。
HTML 代码第 15 行,我们使用 <router-view></router-view> 组件来渲染匹配组件。
JS 代码第 5-7 行,我们定义了组件 Index。
JS 代码第 9-11 行,我们定义了组件 Article。
JS 代码第 13-16 行,我们定义了路由数组:
- 1. 首页路由,地址为 ‘/index’,默认视图匹配组件 Index。
- 2. 文章路由,地址为 ‘/article’,默认视图匹配组件 Article。
JS 代码第 18-20 行,创建 router 实例,然后传 routes 配置。
JS 代码第 24 行,通过 router 配置参数注入路由。
2.2 具名视图
除了使用默认视图名外,我们还可以给视图指定一个名字:
<router-view name="name"/>
实例演示
预览
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<div>
<router-link to="/index">首页</router-link>
<router-link to="/article">文章</router-link>
</div>
<router-view name="view"></router-view>
</div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script type="text/javascript">
const Index = Vue.component('index', {
template: '<div>Hello,欢迎使用慕课网学习 Vue 教程!</div>',
})
const Article = Vue.component('myArticle', {
template: `<ul><li>1. Vue 计算属性的学习</li><li>2. React 基础学习</li></ul>`,
})
const routes = [
{ path: '/index', components: {view: Index} },
{ path: '/article', components: {view: Article} }
]
const router = new VueRouter({
routes: routes
})
var vm = new Vue({
el: '#app',
router: router,
data() {
return {}
}
})
</script>
</html>
运行案例
点击 "运行案例" 可查看在线运行效果
代码解释
我们对上述案例做一个简单的修改:
- 指定
<router-view />的视图名为 view。 - 定义路由信息的时候,指定视图 view 匹配对应组件。
3. 小结
本节,我们带大家学习了 VueRouter 命名视图的使用方法。主要知识点有以下几点:
- 通过 name 属性指定视图名称。
- 通过路由
components指定各具名视图对应匹配的组件。
前言
课程简介
Vue的安装
Vue 基础
Vue 实例
Vue 常用指令
Vue 动态样式绑定
Vue 计算属性
Vue 侦听器
Vue 事件处理
Vue过渡 & 动画
Vue 数据双向绑定
Vue 实例生命周期
Vue 组件基础
Vue 插槽的使用
Vue 组件间通信
Vue动态组件 & keep-alive
Vue 高级
Vue 混入 Mixins
Vue 自定义指令
Vue 过滤器
Vue 渲染函数
Vue 插件
VueRouter
VueRouter 基础应用
VueRouter 路由嵌套
VueRouter 编程式导航
VueRouter 命名路由
VueRouter 命名视图
VueRouter 路由别名、重定向
VueRouter 路由传参
Vuex
Vuex 简介、安装
Vuex State
Vuex Getter
Vuex Mutation
Vuex Action
Vuex Modules
Vue 工程化
Vue-Cli & VueDevTools安装
Vue-Cli 项目文件结构分析
Vue 第三方库的使用
Vue 本地 Mock 数据
Element 美化 TODO 项目
Vue 项目打包部署
代码预览
退出