<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
頁面跳轉,我們一般都通過路由跳轉實現,通常情況下可直接使用router-link標籤實現頁面跳轉,但是如果我們想通過點選別的標籤實現頁面跳轉,怎麼辦呢?這個時候我們就要用到this.$router.push()方法,下面來給大家簡單介紹一下使用!
1.首先我們要定義一個點選事件
2.在定義事件中呼叫this.$router.push()方法
<template> <button @click = "handle">點選跳轉</button> </template> <script> export default{ methods:{ handle (){ // 路徑/home對應我在router目錄下index.js中定義的path屬性值 this.$router.push('/home'); } } } </script>
目標跳轉頁面路由在router目錄下index.js定義如下:
export default new Router({ routes: [ { path: '/home', name:'Home', component: Home, }, ] })
引數為字串,即路徑名稱
// 路徑/home對應router目錄下index.js中定義的path屬性值 this.$router.push('/home');
引數為物件
// 對應router目錄下index.js中定義的path this.$router.push({path:'/home'});
引數為路由命名
// 對應router目錄下index.js中定義的name this.$router.push({name:'Home'});
帶傳遞引數
// params裡面放置的是我們要傳遞過去的引數 this.$router.push({name:'Home',params:{user:'david'}});
帶查詢引數
// 帶查詢引數,傳遞過去的內容會自動拼接變成/home?user=david this.$router.push({path:'/home',query:{user:'david'}});
當我們使用params進行傳參時,只需在接收引數的地方使用this.$route.params進行接收即可
eg:
//傳參 this.$router.push({name:'Home',params:{user:'david'}}); // 在name為Home的元件中接收引數 const id=this.$route.params.id; console.log(this.$route.params);//列印結果為{user:'david'}
當我們使用query傳參時,只需在接收引數的地方使用this.$route.query進行接收即可,用法同上
!!!這裡有一個小細節:$符號後面跟的是route不是router,跳轉的時候 $後面跟的是router!!!
例如,從網站的首頁點選跳轉到指定頁面的底部。
首頁 home
<div @click="toPath('/targetPage#target')"> <p>點選跳轉</p> </div>
methods:{ //點選跳轉方法 toPath(path) { this.$router.push({path: path}) } }
跳轉到的頁面 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); } } }
親測有效 :D
到此這篇關於vue如何通過點選事件實現頁面跳轉的文章就介紹到這了,更多相關vue點選事件實現頁面跳轉內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45