欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

談?wù)剬?duì)Vue?Router的理解

 更新時(shí)間:2022年11月08日 09:20:36   作者:Java陳序員  
vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,適合用于構(gòu)建單頁(yè)面應(yīng)用,這篇文章主要介紹了對(duì)Vue?Router的理解,需要的朋友可以參考下

1.1 相關(guān)理解

1.1.1 vue-router 的理解

Vue 的一個(gè)插件庫(kù),專門用來(lái)實(shí)現(xiàn) SPA 應(yīng)用

1.1.2 對(duì) SPA 應(yīng)用的理解

  • 單頁(yè) Web 應(yīng)用(single page web application,SPA)
  • 整個(gè)應(yīng)用只有一個(gè)完整的頁(yè)面
  • 點(diǎn)擊頁(yè)面中的導(dǎo)航鏈接不會(huì)刷新頁(yè)面,只會(huì)做頁(yè)面的局部更新
  • 數(shù)據(jù)需要通過 Ajax 請(qǐng)求獲取

1.1.3 路由的理解

  • 什么是路由

    一個(gè)路由就是一組映射關(guān)系(key-value

    key 為路徑, value 可能是 function 或 component

  • 路由分類

    后端路由:

    理解:value 是 function , 用于處理客戶端提交的請(qǐng)求

    工作過程:服務(wù)器接收到一個(gè)請(qǐng)求時(shí),根據(jù)請(qǐng)求路徑找到匹配的函數(shù)來(lái)處理請(qǐng)求,返回響應(yīng)數(shù)據(jù)

    2.前端路由:

    理解:value 是 component,用于展示頁(yè)面內(nèi)容

    工作過程:當(dāng)瀏覽器的路徑改變時(shí),對(duì)應(yīng)的組件就會(huì)顯示。

1.2 基本路由

1.2.1 安裝與使用

  • 安裝 vue-router,命令:npm install vue-router

  • 應(yīng)用插件:Vue.use(VueRouter)

編寫 router 配置項(xiàng):

//引入VueRouter
import VueRouter from 'vue-router'
//引入Luyou 組件
import About from '../components/About'
import Home from '../components/Home'

//創(chuàng)建router實(shí)例對(duì)象,去管理一組一組的路由規(guī)則
const router = new VueRouter({
    routes:[
        {
            path:'/about',
            component:About
        },
        {
            path:'/home',
            component:Home
        }
    ]
})

//暴露router
export default router
  • 實(shí)現(xiàn)切換(active-class 可配置高亮樣式)
 <router-link active-class="active" to="/about">About</router-link>
  • 指定展示位置
<router-view></router-view>
  • 幾個(gè)注意點(diǎn):

    路由組件通常存放在 pages 文件夾,一般組件通常存放在 components 文件夾

    通過切換,“隱藏”了的路由組件,默認(rèn)是被銷毀掉的,需要的時(shí)候再去掛載

    每個(gè)組件都有自己的 $route 屬性,里面存儲(chǔ)著自己的路由信息

    整個(gè)應(yīng)用只有一個(gè) router,可以通過組件的 $router 屬性獲取到

1.2.2 總結(jié)

編寫使用路由的 3 步

  • 定義路由組件
  • 注冊(cè)路由
  • 使用路由

1.3 嵌套(多級(jí))路由

  • 配置路由規(guī)則,使用 children 配置項(xiàng):
routes:[
   	{
   		path:'/about',
   		component:About,
   	},
   	{
   		path:'/home',
   		component:Home,
   		children:[ //通過children配置子級(jí)路由
   			{
   				path:'news', //此處一定不要寫:/news
   				component:News
   			},
   			{
   				path:'message',//此處一定不要寫:/message
   				component:Message
   			}
   		]
   	}
   ]

跳轉(zhuǎn)(要寫完整路徑):

  • <router-link to="/home/news">News</router-link>
    

1.4 路由傳參

1.4.1 路由的 query 參數(shù)

  • 傳遞參數(shù)
<!-- 跳轉(zhuǎn)并攜帶query參數(shù),to的字符串寫法 -->
<router-link :to="/home/message/detail?id=666&title=你好">跳轉(zhuǎn)</router-link>
				
<!-- 跳轉(zhuǎn)并攜帶query參數(shù),to的對(duì)象寫法 -->
<router-link 
	:to="{
		path:'/home/message/detail',
		query:{
		   id:666,
            title:'你好'
		}
	}"
>跳轉(zhuǎn)</router-link>
  • 接收參數(shù):
$route.query.id
$route.query.title

1.4.2 命名路由

  • 作用:可以簡(jiǎn)化路由的跳轉(zhuǎn)。

  • 如何使用

給路由命名:

{
	path:'/demo',
	component:Demo,
	children:[
		{
			path:'test',
			component:Test,
			children:[
				{
                    name:'hello' //給路由命名
					path:'welcome',
					component:Hello,
				}
			]
		}
	]
}

簡(jiǎn)化跳轉(zhuǎn):

<!--簡(jiǎn)化前,需要寫完整的路徑 -->
<router-link to="/demo/test/welcome">跳轉(zhuǎn)</router-link>

<!--簡(jiǎn)化后,直接通過名字跳轉(zhuǎn) -->
<router-link :to="{name:'hello'}">跳轉(zhuǎn)</router-link>

<!--簡(jiǎn)化寫法配合傳遞參數(shù) -->
<router-link 
	:to="{
		name:'hello',
		query:{
		   id:666,
            title:'你好'
		}
	}"
>跳轉(zhuǎn)</router-link>

1.4.3 路由的 params 參數(shù)

  • 配置路由,聲明接收 params 參數(shù)
{
	path:'/home',
	component:Home,
	children:[
		{
			path:'news',
			component:News
		},
		{
			component:Message,
			children:[
				{
					name:'xiangqing',
					path:'detail/:id/:title', //使用占位符聲明接收params參數(shù)
					component:Detail
				}
			]
		}
	]
}
  • 傳遞參數(shù)
<!-- 跳轉(zhuǎn)并攜帶params參數(shù),to的字符串寫法 -->
<router-link :to="/home/message/detail/666/你好">跳轉(zhuǎn)</router-link>
				
<!-- 跳轉(zhuǎn)并攜帶params參數(shù),to的對(duì)象寫法 -->
<router-link 
	:to="{
		name:'xiangqing',
		params:{
		   id:666,
            title:'你好'
		}
	}"
>跳轉(zhuǎn)</router-link>

特別注意:路由攜帶 params 參數(shù)時(shí),若使用 to 的對(duì)象寫法,則不能使用 path 配置項(xiàng),必須使用 name 配置!

  • 接收參數(shù):
$route.params.id
$route.params.title

1.4.4 路由的 props 配置

作用:讓路由組件更方便的收到參數(shù)

{
	name:'xiangqing',
	path:'detail/:id',
	component:Detail,

	//第一種寫法:props值為對(duì)象,該對(duì)象中所有的key-value的組合最終都會(huì)通過props傳給Detail組件
	// props:{a:900}

	//第二種寫法:props值為布爾值,布爾值為true,則把路由收到的所有params參數(shù)通過props傳給Detail組件
	// props:true
	
	//第三種寫法:props值為函數(shù),該函數(shù)返回的對(duì)象中每一組key-value都會(huì)通過props傳給Detail組件
	props(route){
		return {
			id:route.query.id,
			title:route.query.title
		}
	}
}

1.4.5 <router-link> 的 replace 屬性

  • 作用:控制路由跳轉(zhuǎn)時(shí)操作瀏覽器歷史記錄的模式
  • 瀏覽器的歷史記錄有兩種寫入方式:分別為 push 和 replace,push 是追加歷史記錄,replace 是替換當(dāng)前記錄。路由跳轉(zhuǎn)時(shí)候默認(rèn)為 push
  • 如何開啟 replace 模式: <router-link replace .......>News</router-link>

1.5 編程式路由導(dǎo)航

  • this.$router.push(path): 相當(dāng)于點(diǎn)擊路由鏈接(可以返回到當(dāng)前路由界面)
  • this.$router.replace(path): 用新路由替換當(dāng)前路由(不可以返回到當(dāng)前路由界面)
  • this.$router.back(): 請(qǐng)求(返回)上一個(gè)記錄路由
  • this.$router.go(-1): 請(qǐng)求(返回)上一個(gè)記錄路由
  • this.$router.go( 1 ): 請(qǐng)求下一個(gè)記錄路由

到此這篇關(guān)于談?wù)剬?duì)Vue Router的理解的文章就介紹到這了,更多相關(guān)Vue Router內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ant-design-vue中的select選擇器,對(duì)輸入值的進(jìn)行篩選操作

    ant-design-vue中的select選擇器,對(duì)輸入值的進(jìn)行篩選操作

    這篇文章主要介紹了ant-design-vue中的select選擇器,對(duì)輸入值的進(jìn)行篩選操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-10-10
  • vue在table表中懸浮顯示數(shù)據(jù)及右鍵菜單

    vue在table表中懸浮顯示數(shù)據(jù)及右鍵菜單

    這篇文章主要為大家詳細(xì)介紹了vue在table表中懸浮顯示數(shù)據(jù)及右鍵菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue接入高德地圖繪制扇形效果的案例詳解

    vue接入高德地圖繪制扇形效果的案例詳解

    這篇文章主要介紹了vue接入高德地圖繪制扇形,需求是有一個(gè)列表,列表的數(shù)據(jù)就是一個(gè)基站信息,包含基站的經(jīng)緯度信息和名字,基站下面又分扇區(qū),本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Vue開發(fā)手冊(cè)Function-based?API?RFC

    Vue開發(fā)手冊(cè)Function-based?API?RFC

    這篇文章主要為大家介紹了Vue開發(fā)手冊(cè)Function-based?API?RFC使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue實(shí)現(xiàn)導(dǎo)出word文檔的示例代碼

    vue實(shí)現(xiàn)導(dǎo)出word文檔的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用vue實(shí)現(xiàn)導(dǎo)出word文檔(包括圖片),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • echarts實(shí)現(xiàn)獲取datazoom的起始值(包括x軸和y軸)

    echarts實(shí)現(xiàn)獲取datazoom的起始值(包括x軸和y軸)

    這篇文章主要介紹了echarts實(shí)現(xiàn)獲取datazoom的起始值(包括x軸和y軸),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-07-07
  • vue3:setup語(yǔ)法糖使用教程

    vue3:setup語(yǔ)法糖使用教程

    <script setup>是在單文件組件中使用Composition API的編譯時(shí)語(yǔ)法糖,下面這篇文章主要給大家介紹了關(guān)于vue3:setup語(yǔ)法糖使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue項(xiàng)目中axios請(qǐng)求網(wǎng)絡(luò)接口封裝的示例代碼

    vue項(xiàng)目中axios請(qǐng)求網(wǎng)絡(luò)接口封裝的示例代碼

    這篇文章主要介紹了vue項(xiàng)目中axios請(qǐng)求網(wǎng)絡(luò)接口封裝的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-12-12
  • 最新評(píng)論