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


Posted in Vue.js onDecember 19, 2020

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

目录结构如下:

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

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

main.js中路由配置如下

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为主模板,也就是入口文件,其中定义的路由与一级路由无任何区别:

<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页面:

<template>
  <div class="home box">
      
    <h3>这里是home页面</h3>
    <router-link to="/home2">套嵌路由</router-link>
      
  </div>
</template>

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

<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 使用二级嵌套路由的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue element实现表格合并行数据
Nov 30 Vue.js
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
详解Vue3使用axios的配置教程
Apr 29 Vue.js
vue实现在data里引入相对路径
Jun 05 Vue.js
Vue3实现简易音乐播放器组件
Aug 14 Vue.js
vue中如何添加百度统计代码
Dec 19 #Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 #Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 #Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 #Vue.js
Vue——前端生成二维码的示例
Dec 19 #Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 #Vue.js
vue 在服务器端直接修改请求的接口地址
Dec 19 #Vue.js
You might like
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
js+css实现打字效果
2020/06/24 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python中optparser库用法实例详解
2018/01/26 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
中专毕业生自我鉴定
2014/02/02 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
团队精神的演讲稿
2014/05/14 职场文书
护士节策划方案
2014/05/19 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
小学班主任自我评价
2015/03/11 职场文书