服务器之家

服务器之家 > 正文

vue 在单页面应用里使用二级套嵌路由

时间:2021-12-15 15:28     来源/作者:帆酱

在一个单页面应用里使用二级套嵌路由

目录结构如下:

vue 在单页面应用里使用二级套嵌路由

其中main.js为全局配置文件,App.vue为项目入口。

main.js中路由配置如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import Vue from 'vue'//引入vue
import App from './App'//引入主模板
import Router from 'vue-router'// 引入router路由
// 引入项目的模块组件
import licai from './components/licai'
import home from './components/home'
import wode from './components/wode'
import home1 from './components/home/home1'
import home2 from './components/home/home2'
import home2_1 from './components/home/home2_box/home2_1'//套嵌路由
import home2_2 from './components/home/home2_box/home2_2'
 
Vue.use(Router)// 使用router
 
// 定义路由
var routes = [
{ path: '/', redirect: '/home' },//默认显示home
{
 path: '/home',
 component: home,//路径home的组件是home
 meta: { navShow: true}
}, {
 path: '/licai',
 component: licai,
 meta: { navShow: true}
}, {
 path: '/wode',
 component:wode,
 meta: { navShow: true}
},{
  path:'/home1/:num',
  component:home1,
  meta: { navShow: false}
},{
  path:'/home2',
  component:home2,
  meta: { navShow: false},
  //这里定义了两个子路由在home2模块下
  children:[
    { path: '/home2/home2_1', component:home2_1},
    { path: '/home2/home2_2', component:home2_2}
  ]
}]
// 实例化路由
var vueRouter = new Router({
 routes//此路由为上方定义
})
// 创建和挂载根实例
new Vue({
 el: '#app',//vue项目在哪个元素下
 router: vueRouter,//使用路由
 template: '<App></App>',
 components: { App }
})

App.vue为主模板,也就是入口文件,其中定义的路由与一级路由无任何区别:

?
1
2
3
4
5
6
7
8
9
10
11
12
<template>
 <div id="app1">
  <div class="nav-bottom" v-show="$route.meta.navShow">
    <!-- 引入公用的头部 header组件 -->
    <v-header></v-header>
  </div>
  <div class="contianer">
    <!-- 路由中的组件在这里被渲染,默认被渲染的为home组件,已在路由配置中设置 -->
    <router-view></router-view>
  </div>
 </div>
</template>

home.vue,这里是首页,从这里可以进入home2页面:

?
1
2
3
4
5
6
7
8
<template>
  <div class="home box">
      
    <h3>这里是home页面</h3>
    <router-link to="/home2">套嵌路由</router-link>
      
  </div>
</template>

home2.vue,这里可以展示套嵌路由了:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<template id="home2">
  <div>
    <header class="home header"><a href="javascript:void(0);" rel="external nofollow" οnclick="javacript:window.history.go(-1)"><img src="../../../static/img/png1.png"/></a>路由套嵌</header>
    <router-link to="/home2/home2_1">子页面1</router-link>
    <router-link to="/home2/home2_2">子页面2</router-link>
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
  </div>
</template>
<style>
.home.header{font-size:0.8rem;position:relative;}
.home.header>a{display: block;height:0.8rem;width:0.4rem;margin-top:0.6rem;position:absolute;left:0.5rem;}
.home.header>a>img{height:100%;width:100%;display:block;}
</style>

效果:

vue 在单页面应用里使用二级套嵌路由

以上就是vue 在单页面应用里使用二级套嵌路由的详细内容,更多关于vue 使用二级嵌套路由的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/linfblog/p/12150800.html

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部