vue如何通過(guò)點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)詳解
前言
頁(yè)面跳轉(zhuǎn),我們一般都通過(guò)路由跳轉(zhuǎn)實(shí)現(xiàn),通常情況下可直接使用router-link標(biāo)簽實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),但是如果我們想通過(guò)點(diǎn)擊別的標(biāo)簽實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),怎么辦呢?這個(gè)時(shí)候我們就要用到this.$router.push()方法,下面來(lái)給大家簡(jiǎn)單介紹一下使用!
this.$router.push()
1.首先我們要定義一個(gè)點(diǎn)擊事件
2.在定義事件中調(diào)用this.$router.push()方法
<template>
<button @click = "handle">點(diǎn)擊跳轉(zhuǎn)</button>
</template>
<script>
export default{
methods:{
handle (){
// 路徑/home對(duì)應(yīng)我在router目錄下index.js中定義的path屬性值
this.$router.push('/home');
}
}
}
</script>
目標(biāo)跳轉(zhuǎn)頁(yè)面路由在router目錄下index.js定義如下:
export default new Router({
routes: [
{
path: '/home',
name:'Home',
component: Home,
},
]
})
this.$router.push()中的參數(shù)規(guī)則
參數(shù)為字符串,即路徑名稱
// 路徑/home對(duì)應(yīng)router目錄下index.js中定義的path屬性值
this.$router.push('/home');
參數(shù)為對(duì)象
// 對(duì)應(yīng)router目錄下index.js中定義的path
this.$router.push({path:'/home'});
參數(shù)為路由命名
// 對(duì)應(yīng)router目錄下index.js中定義的name
this.$router.push({name:'Home'});
帶傳遞參數(shù)
// params里面放置的是我們要傳遞過(guò)去的參數(shù)
this.$router.push({name:'Home',params:{user:'david'}});
帶查詢參數(shù)
// 帶查詢參數(shù),傳遞過(guò)去的內(nèi)容會(huì)自動(dòng)拼接變成/home?user=david
this.$router.push({path:'/home',query:{user:'david'}});
參數(shù)的接收
當(dāng)我們使用params進(jìn)行傳參時(shí),只需在接收參數(shù)的地方使用this.$route.params進(jìn)行接收即可
eg:
//傳參
this.$router.push({name:'Home',params:{user:'david'}});
// 在name為Home的組件中接收參數(shù)
const id=this.$route.params.id;
console.log(this.$route.params);//打印結(jié)果為{user:'david'}
當(dāng)我們使用query傳參時(shí),只需在接收參數(shù)的地方使用this.$route.query進(jìn)行接收即可,用法同上
!??!這里有一個(gè)小細(xì)節(jié):$符號(hào)后面跟的是route不是router,跳轉(zhuǎn)的時(shí)候 $后面跟的是router?。?!
注意
- query傳參的參數(shù)會(huì)帶在url后邊展示在地址欄(/home?user=david),params傳參的參數(shù)不會(huì)展示到地址欄
- 由于動(dòng)態(tài)路由也是傳遞params的,所以在 this.$router.push() 方法中path不能和params一起使用,否則params將無(wú)效,需要用name來(lái)指定頁(yè)面
- 我們也可以用this.$router.replace()來(lái)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),二者的區(qū)別是push跳轉(zhuǎn)之后可以通過(guò)瀏覽器的回退鍵回到原來(lái)的頁(yè)面,而一旦使用replace跳轉(zhuǎn)之后,無(wú)法回到原來(lái)頁(yè)面
補(bǔ)充:VUE實(shí)現(xiàn)從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面的指定位置
例如,從網(wǎng)站的首頁(yè)點(diǎn)擊跳轉(zhuǎn)到指定頁(yè)面的底部。
首頁(yè) home
<div @click="toPath('/targetPage#target')">
<p>點(diǎn)擊跳轉(zhuǎn)</p>
</div>
methods:{
//點(diǎn)擊跳轉(zhuǎn)方法
toPath(path) {
this.$router.push({path: path})
}
}
跳轉(zhuǎn)到的頁(yè)面 targetPage
<div class="location" id="target">
<p>指定位置</p>
</div>
//在mounted里
mounted() {
var hash = window.location.hash;
var index = hash.lastIndexOf("#");
if (index != -1) {
var id = hash.substring(index + 1, hash.length + 1);
var div = document.getElementById(id);
if (div) {
setTimeout(function () {
console.log($(div).offset().top);
$('html, body').animate({scrollTop: $(div).offset().top - 43}, 500)
}, 500);
}
}
}
親測(cè)有效 :D
總結(jié)
到此這篇關(guān)于vue如何通過(guò)點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)vue點(diǎn)擊事件實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3頁(yè)面跳轉(zhuǎn)的兩種方式
- vue3配置router路由并實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)功能
- Vue實(shí)現(xiàn)路由跳轉(zhuǎn)至外界頁(yè)面
- vue項(xiàng)目中路由跳轉(zhuǎn)頁(yè)面不變問(wèn)題及解決
- vue跳轉(zhuǎn)頁(yè)面并且實(shí)現(xiàn)參數(shù)傳遞接受示例
- vue?點(diǎn)擊按鈕?路由跳轉(zhuǎn)指定頁(yè)面的實(shí)現(xiàn)方式
- vue跳轉(zhuǎn)頁(yè)面打開新窗口,并攜帶與接收參數(shù)方式
- vue實(shí)現(xiàn)三級(jí)頁(yè)面跳轉(zhuǎn)功能
相關(guān)文章
VUE前端實(shí)現(xiàn)token的無(wú)感刷新3種方案(refresh_token)
這篇文章主要給大家介紹了關(guān)于VUE前端實(shí)現(xiàn)token的無(wú)感刷新3種方案(refresh_token)的相關(guān)資料,為了提供更好的用戶體驗(yàn),我們可以通過(guò)實(shí)現(xiàn)Token的無(wú)感刷新機(jī)制來(lái)避免用戶在使用過(guò)程中的中斷,需要的朋友可以參考下2023-11-11
從零搭建一個(gè)vite+vue3+ts規(guī)范基礎(chǔ)項(xiàng)目(搭建過(guò)程問(wèn)題小結(jié))
這篇文章主要介紹了從零搭建一個(gè)vite+vue3+ts規(guī)范基礎(chǔ)項(xiàng)目,本項(xiàng)目已vite開始,所以按照vite官方的命令開始,對(duì)vite+vue3+ts項(xiàng)目搭建過(guò)程感興趣的朋友一起看看吧2022-05-05
VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子
今天小編就為大家分享一篇VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Vue實(shí)現(xiàn)導(dǎo)出Excel表格文件提示“文件已損壞無(wú)法打開”的解決方法
xlsx用于讀取解析和寫入Excel文件的JavaScript庫(kù),它提供了一系列的API處理Excel文件,使用該庫(kù),可以將數(shù)據(jù)轉(zhuǎn)換Excel文件并下載到本地,適用于在前端直接生成Excel文件,這篇文章主要介紹了Vue實(shí)現(xiàn)導(dǎo)出Excel表格,提示文件已損壞,無(wú)法打開的解決方法,需要的朋友可以參考下2024-01-01
vue修改數(shù)據(jù)視圖更新原理學(xué)習(xí)
這篇文章主要為大家介紹了vue修改數(shù)據(jù)視圖更新原理學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
vue 登錄滑動(dòng)驗(yàn)證實(shí)現(xiàn)代碼
這篇文章主要介紹了vue 登錄滑動(dòng)驗(yàn)證實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
Vue組件高級(jí)通訊之$children與$parent
這篇文章主要為大家介紹了Vue組件高級(jí)通訊之$children與$parent,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
vue運(yùn)行項(xiàng)目時(shí)network顯示unavailable的問(wèn)題及解決
這篇文章主要介紹了vue運(yùn)行項(xiàng)目時(shí)network顯示unavailable的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09

