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 相关文章推荐
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
Vue实现图书管理小案例
Dec 03 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue 数据双向绑定的实现方法
Mar 04 Vue.js
vue使用v-model进行跨组件绑定的基本实现方法
Apr 28 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
vue route新窗口跳转页面并且携带与接收参数
Apr 10 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
php设计模式 Strategy(策略模式)
2011/06/26 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
php+mysql实现无限级分类
2015/11/11 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
对pandas中Series的map函数详解
2018/07/25 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python 调用有道api接口的方法
2019/01/03 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
停课通知书
2015/04/24 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python