首页 > 其他分享 >Vue70 嵌套路由

Vue70 嵌套路由

时间:2024-09-23 12:22:35浏览次数:9  
标签:About vue router Vue70 嵌套 Home 组件 import 路由


路由的注意点

  1. 路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹。
  2. 通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载。
  3. 每个组件都有自己的$route属性,里面存储着自己的路由信息。
  4. 整个应用只有一个router,可以通过组件的$router属性获取到。

多级路由

  1. 配置路由规则,使用children配置项:
routes:[
	{
		path:'/about',
		component:About,
	},
	{
		path:'/home',
		component:Home,
		children:[ //通过children配置子级路由
			{
				path:'news', //此处一定不要写:/news
				component:News
			},
			{
				path:'message',//此处一定不要写:/message
				component:Message
			}
		]
	}
]
  1. 跳转(要写完整路径):
<router-link to="/home/news">News</router-link>

代码

Vue70 嵌套路由_html

Banner.vue

<template>
	<div class="col-xs-offset-2 col-xs-8">
		<div class="page-header"><h2>Vue Router Demo</h2></div>
	</div>
</template>

<script>
	export default {
		name:'Banner'
	}
</script>

About.vue

<template>
	<h2>我是About的内容</h2>
</template>

<script>
	export default {
		name:'About',
		/* beforeDestroy() {
			console.log('About组件即将被销毁了')
		},*/
		/* mounted() {
			console.log('About组件挂载完毕了',this)
			window.aboutRoute = this.$route
			window.aboutRouter = this.$router
		},  */
	}
</script>

Home.vue

<template>
	<div>
		<h2>Home组件内容</h2>
		<div>
			<ul class="nav nav-tabs">
				<li>
					<router-link class="list-group-item" active-class="active" to="/home/news">News</router-link>
				</li>
				<li>
					<router-link class="list-group-item" active-class="active" to="/home/message">Message</router-link>
				</li>
			</ul>
			<router-view></router-view>
		</div>
	</div>
</template>

<script>
	export default {
		name:'Home',
		/* beforeDestroy() {
			console.log('Home组件即将被销毁了')
		}, */
		/* mounted() {
			console.log('Home组件挂载完毕了',this)
			window.homeRoute = this.$route
			window.homeRouter = this.$router
		},  */
	}
</script>

Message.vue

<template>
	<div>
		<ul>
			<li>
				<a href="/message1">message001</a>  
			</li>
			<li>
				<a href="/message2">message002</a>  
			</li>
			<li>
				<a href="/message/3">message003</a>  
			</li>
		</ul>
	</div>
</template>

<script>
	export default {
		name:'Message'
	}
</script>

News.vue

<template>
	<ul>
		<li>news001</li>
		<li>news002</li>
		<li>news003</li>
	</ul>
</template>

<script>
	export default {
		name:'News'
	}
</script>

index.js

// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'

//创建并暴露一个路由器
export default new VueRouter({
	routes:[
		{
			path:'/about',
			component:About
		},
		{
			path:'/home',
			component:Home,
			children:[
				{
					path:'news',
					component:News,
				},
				{
					path:'message',
					component:Message,
				}
			]
		}
	]
})

App.vue

<template>
  <div>
    <div class="row">
      <Banner/>
    </div>
    <div class="row">
      <div class="col-xs-2 col-xs-offset-2">
        <div class="list-group">
					<!-- 原始html中我们使用a标签实现页面的跳转 -->
          <!-- <a class="list-group-item active" href="./about.html">About</a> -->
          <!-- <a class="list-group-item" href="./home.html">Home</a> -->

					<!-- Vue中借助router-link标签实现路由的切换 -->
					<router-link class="list-group-item" active-class="active" to="/about">About</router-link>
          <router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
        </div>
      </div>
      <div class="col-xs-6">
        <div class="panel">
          <div class="panel-body">
						<!-- 指定组件的呈现位置 -->
            <router-view></router-view>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
	import Banner from './components/Banner'
	export default {
		name:'App',
		components:{Banner}
	}
</script>

main.js

//引入Vue
import Vue from 'vue'
//引入App
import App from './App.vue'
//引入VueRouter
import VueRouter from 'vue-router'
//引入路由器
import router from './router'

//关闭Vue的生产提示
Vue.config.productionTip = false
//应用插件
Vue.use(VueRouter)

//创建vm
new Vue({
	el:'#app',
	render: h => h(App),
	router:router
})

运行

Vue70 嵌套路由_vue.js_02


标签:About,vue,router,Vue70,嵌套,Home,组件,import,路由
From: https://blog.51cto.com/u_15295225/12088531

相关文章

  • Vue69 路由的基本使用
    路由理解:一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理。前端路由:key是路径,value是组件。1.基本使用安装vue-router,命令:npmivue-router@3应用插件:Vue.use(VueRouter)编写router配置项://引入VueRouterimportVueRouterfrom'vue-router'//引入L......
  • Django 路由层 —— 基础用法,以及底层如何实现的
    路由层负责网页URL与函数/类的对应关系用法基本用法urls.py:urlpatterns=[#基本用法path('login/',views.login),#动态输入参数path('info/<int:v1>',views.info),#可以同时传多个参数,path:v3会记录v1-v2/后面的所有路径......
  • vue如何挂载路由
            在Vue中,挂载路由并不是指一个直接的API调用或方法,而是一个过程,它涉及到将VueRouter实例与Vue应用的根实例进行关联。这个过程通常是在Vue应用的入口文件中完成的,比如main.js或app.js。1、安装VueRouter:        使用npm或yarn将VueRouter添加到你......
  • 交换机+防火墙+路由器
    1、网络拓扑图2、基础网络配置1)路由nat2)防火墙策略3)交换机vlan3、详细配置路由器:<r2>displaycurrent-configuration [V200R003C00]#sysnamer2#snmp-agentlocal-engineid800007DB03000000000000snmp-agent #clocktimezoneChina-Standard-Timeminus08:00:00#......
  • 路由器的工作原理及基本设置详解
    路由器是现代网络架构中的关键设备,负责在不同网络之间转发数据包。理解路由器的工作原理及其基本设置,对于构建和维护高效、安全的网络环境至关重要。本文将详细讲解路由器的基本原理和常见设置步骤。一、路由器的工作原理1.数据包转发路由器的核心功能是转发数据包。当数据......
  • python函数一:函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函
    文章目录1.函数介绍1.1函数的概念1.2函数定义与调用1.2函数的参数1.3函数的返回值1.4说明文档2.函数的嵌套调用2.1嵌套调用及执行流程2.2嵌套调用的应用1.函数介绍1.1函数的概念什么是函数?函数:是一个被命名的、独立的、完成特定功能的代码段,其可能......
  • 路由协议
    这七种常见的路由协议,每一个网络工程师都应该知道!-云社区-华为云(huaweicloud.com)路由协议可以根据不同的分类标准进行分类,如:按照工作原理分类:距离向量路由协议(DistanceVectorRoutingProtocol)和链路状态路由协议(LinkStateRoutingProtocol)。按照路由表的更新方式分类:静......
  • 测试环境路由可以这么做(七):研发提效的好帮手
    如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”,我们可以进一步讨论实现方案和细节。你的支持永远是我前进的动力~~~曾经面试过一家公司,属于事业单位,朝9晚5,下午5点大家准时坐班车回家。真让人羡慕啊!!!面试过程中,面试官明确表达,尽量不要加班,以免带坏......
  • 测试环境路由可以这么做(六):RocketMQ增强
    现状消息队列的处理在测试环境路由中是非常特殊的存在,据说阿里ToG的团队都没有搞定RocketMQ。知道了这个消息,我们还是很值得骄傲的!!!消息队列有多种实现,当时我们公司同时使用了RabbitMQ、ActiveMQ、Kafka、RocketMQ四种,但业务主要使用的是ActiveMQ,未来计划统一为RocketMQ,所以......
  • Vue-router路由
    目录16.1介绍16.2vue的路由16.3安装路由模块16.5声明式路由16.5.1创建MyInfo.vue16.5.1创建Admin.vue16.5.2创建静态路由表16.5.3main.js引入路由模块并使用16.5.4App.vue使用路由16.6编程式路由16.7参数的传递16.7.1声明式路由传参16.7.2编程式路由......