IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue ---- 路由 -> 正文阅读

[JavaScript知识库]vue ---- 路由

vue中的路由

1. 概述

  • 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程
  • 路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程
  • 用户发起一个请求,在互联网中经过多个站点的跳转.最终获取服务器端的数据. 把互联网中网络的链路称之为路由
  • VUE中的路由: 根据用户的请求URL地址,展现特定的组件(页面)信息. (控制用户程序跳转过程)

2. 入门案例

  • 实现步骤:
    • 引入JS类库
    • 指定路由跳转链接
    • 指定路由填充位
    • 封装路由对象
    • vue对象绑定路由
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>路由入门案例</title>
	</head>
	<body>
		<div id="app">
			<h1>实现路由案例</h1>
			<!-- 2.定义路由标签 -->
			<!-- 2.1 a标签说明:
					a标签:超链接标签,href属性:请求跳转的地址
			 -->
			<a href="http://www.baidu.com">百度</a>
			<!-- 2.2 路由标签说明:
					router-link:解析为a标签
					to: 解析为href属性
			 -->
			<router-link to="/home">主页</router-link>
			<router-link to="/welcome">欢迎</router-link>
			<!-- 3.指定路由填充位(占位符)
					需要给组件一个展现的位置,需要提前定义(类似于一个div)
			 -->
			 <router-view></router-view>
			 <!--  -->
		</div>
		<!-- 定义template标签 -->
		<template id="homeTem">
			<div>
				<h1>这是系统首页</h1>
			</div>
		</template>
		<template id="welcomeTem">
			<div>
				<h1>欢迎使用组件</h1>
			</div>
		</template>
		<!-- 1.引入js 路由需要依赖vue 注意顺序 -->
		<script src="../js/vue.js"></script>
		<script src="../js/vue-router.js"></script>

		<script>
			/*4.封装路由对象*/
			let HomeCom ={
				template: "#homeTem"
			}
			let WelcomeCom ={
				template: "#welcomeTem"
			}
			let router = new VueRouter({
				//routes 定义请求与组件的映射关系
				routes: [
					{path: "/home",component: HomeCom},
					{path: "/welcome",component: WelcomeCom}
				]
			})
			/*5.实现路由对象绑定*/
			const app = new Vue({
				el: "#app",
				// router: router
				router,
			})
		</script>
	</body>
</html>

  • 页面显示
    在这里插入图片描述

3. 路由的嵌套机制

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>路由规则嵌套</title>
	</head>
	<body>
		<div id="app">
			<h1>动物园</h1>
			<router-link to="/tiger">老虎</router-link>
			<router-link to="/lion">狮子</router-link>
			<router-view></router-view>
		</div>
		<template id="tigerTem">
			<div>
				<h1>一只老虎</h1>
				<img src="../images/1.jpg"/>
				<h3>
					<router-link to="/tiger/one">大儿子</router-link>
					<router-link to="/tiger/two">小儿子</router-link>
					<router-view></router-view>
				</h3>
			</div>
		</template>
		<template id="lionTem">
			<div>
				<h1>一只狮子</h1>
				<img src="../images/2.jpg" />
				<!-- 实现路由的嵌套机制 -->
				<h3>
					<router-link to="/lion/one">大儿子</router-link>
					<router-link to="/lion/two">小儿子</router-link>
					<router-view></router-view>
				</h3>
			</div>
		</template>
		<template id="tigeroneTem">
			<div>
				<h1>大儿子</h1>
				<img src="../images/3.jpg" />
			</div>
		</template>
		<template id="tigertwoTem">
			<div>
				<h1>小儿子</h1>
				<img src="../images/4.jpg" />
			</div>
		</template>
		<template id="liononeTem">
			<div>
				<h1>大儿子</h1>
				<img src="../images/5.jpg" />
			</div>
		</template>
		<template id="liontwoTem">
			<div>
				<h1>小儿子</h1>
				<img src="../images/6.jpg" />
			</div>
		</template>
		<script src="../js/vue.js"></script>
		<script src="../js/vue-router.js"></script>
		<script>
			let tigerCom = {
				template: "#tigerTem"
			}
			let lionCom = {
				template: "#lionTem"
			}
			let tigeroneCom = {
				template: "#tigeroneTem"
			}
			let tigertwoCom = {
				template: "#tigertwoTem"
			}
			let liononeCom = {
				template: "#liononeTem"
			}
			let liontwoCom = {
				template: "#liontwoTem"
			}
			
			/*规则:
			* 	1.如果需要在app根标签中跳转,则写到routes根目录下
			* 	2.如果需要进行父子嵌套,则应该使用children属性
			* 	3.如果使用children属性,则在自身router-view中跳转
			* */
			// 封装路由的对象
			let router = new VueRouter({
				routes: [
					{path: "/",redirect: "/lion"},
					{path: "/tiger",component: tigerCom,
						children: [
							{path: "/tiger/one",component: tigeroneCom},
							{path: "/tiger/two",component: tigertwoCom}
						]
					},
					{path: "/lion",component: lionCom,
						children: [
							{path: "/lion/one",component: liononeCom},
							{path: "/lion/two",component: liontwoCom}
						]
					},
					
				]
			})
			const app = new Vue({
				el: "#app",
				router,
			})
		</script>
	</body>
</html>

  • 页面显示
    在这里插入图片描述

4. 转发和重定向

  • 转发:
    • 用户请求服务器时,由服务器将请求转给另一台服务器的过程.叫做转发
    • 特点:
      • 请求一次,同一个对象
      • 转发时,参数可以携带
      • 转发时,浏览器的地址不变
      • 转发是服务器的行为
  • 重定向:
    • 用户请求服务器时,服务器由于特殊原因告知用户应该访问服务器B,之后用户再次发起请求访问服务器B. 这个过程称之为重定向
    • 特点:
      • 请求多次,对象多个
      • 由于是多个请求,所以不可以传递参数
      • 浏览器的地址会变化
      • 重定向也是服务器端的行为
  • vue中的重定向
    • 使用redirect 实现重定向效果
    • 在这里插入图片描述
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:22:02  更:2021-08-31 15:22:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:32:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码