国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)

這篇具有很好參考價值的文章主要介紹了【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.1 什么是路由?

Vue Router官方文檔:https://router.vuejs.org/zh/installation.html
【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)

  • 使用路由文件:
    • 1.引用vue-router路由js文件
    • 2.創(chuàng)建router對象
    • 3.在vm對象中注冊router對象
    • 4.在視圖中使用 router-view 標簽
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
		<!-- 
			一、使用路由文件:
				1.引用vue-router路由js文件
				2.創(chuàng)建router對象 
				3.在vm對象中注冊router對象
				4.在視圖中使用 router-view 標簽
		 -->
		 <router-view></router-view>
    </div>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		var login = {
			template:'<h1>登錄組件</h1>'
		}
		
		var register = {
			template:'<h1>注冊組件</h1>'
		}
		
		// 創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/login', component:login},
				{path:'/abc', component:register},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {

            },
            methods: {

            },
			components:{
				
			},
			router
        })
    </script>
</body>
</html>

1.2 路由控制組件切換

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
	<style>
		.router-link-active{color: red;}
	</style>
</head>

<body>
    <div id="app">
		<!-- 寫法一 -->
		<!-- <a href="#/login">登錄</a> -->
		<!-- <a href="#/abc">注冊</a> -->
		
		<!-- 寫法二 
			router-link默認渲染成a標簽
			如果需要改成其他標簽,使用屬性tag
			點擊那個標簽會添加樣式類router-link-active,可以修改并增加樣式
		-->
		<router-link to="/login" tag="tag">登錄</router-link>
		<router-link to="/abc">注冊</router-link>
		
		<router-view></router-view>
    </div>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義組件
		var login = {
			template:'<h1>登錄組件</h1>'
		}
		
		var register = {
			template:'<h1>注冊組件</h1>'
		}
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/login', component:login},
				{path:'/abc', component:register},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

1.3 路由重定向以及動畫路由

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
	<style>
		.router-link-active{color: red;}
		.v-enter,
		.v-leave-to{
			opacity: 0;
			transform: translateX(200px);
		}
		
		.v-enter-active,
		.v-leave-active{
			transition: all 1s ease;
		}
	</style>
</head>

<body>
    <div id="app">
		<!-- 寫法一 -->
		<!-- <a href="#/login">登錄</a> -->
		<!-- <a href="#/abc">注冊</a> -->
		
		<!-- 寫法二 
			router-link默認渲染成a標簽
			如果需要改成其他標簽,使用屬性tag
			點擊那個標簽會添加樣式類router-link-active,可以修改并增加樣式
		-->
		<router-link to="/login" tag="tag">登錄</router-link>
		<router-link to="/abc">注冊</router-link>
		
		<transition mode="out-in">
			<router-view></router-view>
		</transition>
    </div>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義組件
		var login = {
			template:'<h1>登錄組件</h1>'
		}
		
		var register = {
			template:'<h1>注冊組件</h1>'
		}
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/', redirect:'/login'},
				{path:'/login', component:login},
				{path:'/abc', component:register},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

1.4 路由傳參

  • 第一種傳參形式——路由路徑進行傳參,如:/login?id=20
  • 第二種傳參形式——路由占位符進行傳參,如:/abc/100
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
	<style>
		.router-link-active{color: red;}
		.v-enter,
		.v-leave-to{
			opacity: 0;
			transform: translateX(200px);
		}
		
		.v-enter-active,
		.v-leave-active{
			transition: all 1s ease;
		}
		
	</style>
</head>

<body>
    <div id="app">
		<!-- 寫法一 -->
		<!-- <a href="#/login">登錄</a> -->
		<!-- <a href="#/abc">注冊</a> -->
		
		<!-- 寫法二 
			router-link默認渲染成a標簽
			如果需要改成其他標簽,使用屬性tag
			點擊那個標簽會添加樣式類router-link-active,可以修改并增加樣式
		-->
		<router-link to="/login?id=20" tag="tag">登錄</router-link>
		<router-link to="/abc/100">注冊</router-link>
		
		<transition mode="out-in">
			<router-view></router-view>
		</transition>

    </div>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義組件
		var login = {
			template:'<h1>登錄組件=={{id}}</h1>',
			data(){
				return{
					id:''
				}
			},
			created(){
				console.log(this.$route.query.id);
				this.id = this.$route.query.id;
			}
		}
		
		var register = {
			template:'<h1>注冊組件=={{id}}</h1>',
			data(){
				return{
					id:''
				}
			},
			created(){
				console.log(this.$route.params.id);
				this.id = this.$route.params.id;
			}
		}
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/', redirect:'/login'},
				{path:'/login', component:login},
				{path:'/abc/:id', component:register},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

1.5 嵌套路由

嵌套路由的應(yīng)用場景:每個網(wǎng)站中的首部與網(wǎng)站的底部一般不會改變,變化的內(nèi)容一般在中間部分。
【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)

1.5.1 非嵌套路由案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
		<router-link to="/user">用戶</router-link>
		<router-view></router-view>
    </div>
	
	<!-- 用戶組件視圖 -->
	<template id="temp">
		<div>
			<h1>User組件</h1>
			<router-link to="/login">登錄</router-link>
			<router-link to="/register">注冊</router-link>
		</div>
	</template>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義用戶組件、登錄組件、注冊組件
		var user = {
			template:'#temp'
		}
		
		var login = {
			template:'<h1>登錄組件</h1>'
		}
		
		var register = {
			template:'<h1>注冊組件</h1>'
		}
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/user',component:user},
				{path:'/login',component:login},
				{path:'/register',component:register},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

1.5.2 嵌套路由案例

【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)文章來源地址http://www.zghlxwxcb.cn/news/detail-400559.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">
		<router-link to="/user">用戶</router-link>
		<router-view></router-view>
    </div>
	
	<!-- 用戶組件視圖 -->
	<template id="temp">
		<div>
			<h1>User組件</h1>
			<router-link to="/user/login">登錄</router-link>
			<router-link to="/user/register">注冊</router-link>
			<div></div>
			<div>
				<router-view></router-view>
			</div>
		</div>
	</template>

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義用戶組件、登錄組件、注冊組件
		var user = {
			template:'#temp'
		}
		
		var login = {
			template:'<h1>登錄組件</h1>'
		}
		
		var register = {
			template:'<h1>注冊組件</h1>'
		}
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{
					path:'/user',
					component:user, 
					// 注意子路由children下的路由寫法
					children:[
						{path:'login',component:login},
						{path:'register',component:register}
					],
				},

			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

1.6 路由布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
	<!-- 
		在一個頁面顯示多個組件
		default:header 對應(yīng)的 router-view 可以不寫name屬性
	 -->
    <div id="app">
		<router-view></router-view>
		<router-view name="content"></router-view>
		<router-view name="footer"></router-view>
    </div>
	

    <script src="../js/vue.js"></script>
	<script src="../js/vue-router.js"></script>
	
    <script>
		// 1.定義
		var header = {
			template:'<h1>頭部內(nèi)容</h1>'
		}
		
		var content = {
			template:'<h1>內(nèi)容內(nèi)容</h1>'
		}
		
		var footer = {
			template:'<h1>腳部內(nèi)容</h1>'
		}
		
		
		// 2.創(chuàng)建 router對象
		var router = new VueRouter({
			routes:[
				{path:'/', components:{
					default:header,
					'content':content,
					'footer':footer
				}},
			]
		});
		
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods: {
            },
			components:{
			},
			router
        })
    </script>
</body>
</html>

到了這里,關(guān)于【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vue2和Vue3是Vue.js框架的兩個主要版本,它們之間有以下區(qū)別

    性能優(yōu)化:Vue3在內(nèi)部進行了重寫,采用了更高效的虛擬DOM算法,使得渲染速度更快,性能更好。 更小的體積:Vue3的體積比Vue2更小,這意味著更快的下載和加載速度。 Composition API:Vue3引入了Composition API,它是一種新的組合式API,可以更好地組織和重用組件邏輯,使得代碼更

    2024年02月15日
    瀏覽(26)
  • 基于vscode實現(xiàn)vue3項目創(chuàng)建啟動+安裝配置路由vue-router實現(xiàn)單頁面組件切換

    基于vscode實現(xiàn)vue3項目創(chuàng)建啟動+安裝配置路由vue-router實現(xiàn)單頁面組件切換

    訪問https://nodejs.org/en,點擊下載最新版本的nodejs,并安裝。 在項目目錄文件下,通過cmd運行下述指令。 依次輸入下列命令,啟動vue項目 在瀏覽器中加載http://localhost:5173/,頁面加載成功,說明vue項目安裝啟動成功。 建議安裝第三方庫通過vscode中的終端來操作,項目啟動通過

    2024年02月03日
    瀏覽(97)
  • 【Vue框架】Vue2中element-ui/mint-ui組件庫——element-ui引入組件以及使用案例、mint-ui引入組件及使用案例

    【Vue框架】Vue2中element-ui/mint-ui組件庫——element-ui引入組件以及使用案例、mint-ui引入組件及使用案例

    element-ui 提供了大量的組件,如:布局組件、表單組件、JS組件等等。 Element-ui官網(wǎng): https://element.eleme.cn/#/zh-CN 安裝 Element-ui: npm i element-ui -S 1.1.1 引入組件 引入 Element 完整引入(在 main.js 中寫入以下內(nèi)容): 按需引入 借助 babel-plugin-component,我們可以只引入需要的組件,以達到

    2024年02月07日
    瀏覽(32)
  • 若依vue框架+element ui 組件路由跳轉(zhuǎn)與菜單聯(lián)動

    若依vue框架+element ui 組件路由跳轉(zhuǎn)與菜單聯(lián)動

    在后臺管理系統(tǒng)中當點擊某一按鈕時,頁面發(fā)生跳轉(zhuǎn)(路由發(fā)生跳轉(zhuǎn),跳轉(zhuǎn)到與按鈕對應(yīng)的頁面),在跳轉(zhuǎn)的同時在側(cè)邊欄中打開與之對應(yīng)模塊的菜單項 1.點擊按鈕跳轉(zhuǎn)到/pay/PayIndex頁面 2.在后臺管理系統(tǒng)中側(cè)邊欄使用的是element ui 中的NavMenu導航菜單組件,在后臺管理系統(tǒng) src/l

    2024年02月14日
    瀏覽(27)
  • Vue3在點擊菜單切換路由時,將ElementPlus UI庫中el-main組件的內(nèi)容滾動恢復(fù)到頂部

    Vue3在點擊菜單切換路由時,將ElementPlus UI庫中el-main組件的內(nèi)容滾動恢復(fù)到頂部

    功能:Vue3在點擊菜單切換路由時,將頁面el-main的內(nèi)容滾動到頂部,布局如下,使用UI組件庫為ElementPlus ?在網(wǎng)上搜很多都是在route.js中的router.beforeEach中使用window.scrollTop(0,0) 或?window.scrollTo(0,0) 滾動,但是我使用無效,于是使用操作dom的方法,如下 可以使用 watch 函數(shù)來? 監(jiān)聽

    2024年01月18日
    瀏覽(36)
  • Vue Router系列之路由重定向

    路由重定向指的是:用戶在訪問地址 A 的時候,強制用戶跳轉(zhuǎn)到地址 C,從而展示特定的組件頁面;通過路由規(guī)則的 redirect 屬性,指定一個新的路由地址,可以很方便地設(shè)置路由的重定向。 如果你感覺文章不咋地 //(ㄒoㄒ)// ,就在評論處留言,作者繼續(xù)改進; o_O??? 如果你覺

    2024年02月13日
    瀏覽(14)
  • vue2 - 詳細介紹element UI中在el-select嵌套el-tree樹形控件實現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實例(組件封裝)

    vue2 - 詳細介紹element UI中在el-select嵌套el-tree樹形控件實現(xiàn)下拉選擇樹型結(jié)構(gòu)數(shù)據(jù)的效果實例(組件封裝)

    在項目上常用使用到?el-select?和?el-tree?組合實現(xiàn),記錄下兩者結(jié)合的實現(xiàn)過程。(代碼以及注釋清晰明了,代碼直接使用即可) 要求根據(jù)項目接口提供的數(shù)據(jù),el-tree 里的數(shù)據(jù)是一次性返回來的,點擊最后一層級時,請求接口,在點擊層級下方追加數(shù)據(jù)追加的數(shù)據(jù)要顯示勾

    2024年04月15日
    瀏覽(90)
  • Taro + vue3 + js + nutUI 框架中自定義tabbar的組件封裝以及頁面跳轉(zhuǎn)的邏輯

    1.需求: ? 在H5 中需要封裝一個自定義的tabbar 菜單跳轉(zhuǎn) 通過nut-ui 進行二次封裝 2. 注意點 ? H5 中原生的tabbar 在ios 中會出現(xiàn)問題 所以進行 封裝tabbar 3. 代碼操作 首先全部的代碼? 4.解析 tabList: 菜單的內(nèi)容數(shù)組? 根據(jù)自己菜單的數(shù)量 來決定 const tabList = reactivemenu[]([ ? ? { ? ?

    2024年04月17日
    瀏覽(95)
  • vue2自定義切換主題 dark暗黑主題(暗黑模式)

    vue2自定義切換主題 dark暗黑主題(暗黑模式)

    業(yè)務(wù)要求要做一個主題色切換,類似于暗黑模式,以前沒有做過于是在網(wǎng)絡(luò)上搜羅現(xiàn)成的解決方案,由于是vue2的項目,找了很久都沒有找到一個好的方便的解決方案,最后在github找到一個使用css3的解決方案,覺得十分不錯,也很簡單明了,于是就拿來直接用了,參考的gith

    2024年02月15日
    瀏覽(23)
  • vue2組件庫-上傳組件

    vue2組件庫-上傳組件

    核心思路: 監(jiān)控整個上傳的流程 上傳成功?上傳失敗 類型:拖拽?多個文件上傳 跟上傳強關(guān)聯(lián)的屬性,上傳必備的字段 name:?提交的那個formData字段名 action:ajax接口路徑 limit:限制提交個數(shù) 鉤子函數(shù) dom:?this.$refs 選中文件?上傳 按照整個上傳的流程 fileList中每個對象的狀態(tài)

    2024年02月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包