vue-router路由跳轉問題 replace
vue-router路由跳轉replace
1.push 常用
this.$router.push()
2.replace 不會在瀏覽器得歷史記錄中加,只會替代掉最后一條記錄(這個比較好用)
this.$router.replace()
3.go
this.$router.go() this.$router.back(-1)
vue router路由跳轉方法概述
一、概述
使用到Vue的項目,我們最常見使用的就是Vue配套的Vue Router庫。
那么在平日開發(fā)中,有多少種跳轉路由的方法?
二、跳轉方法
1、使用router-link標簽
使用router-link標簽,我們通常會使用到2個參數(shù),最常用的就是to參數(shù)
to參數(shù),表示你想要跳轉到的路由對象
router-link標簽,會調(diào)用router.push()方法,該方法會在你點擊瀏覽器會退按鈕的時候,無痕回退一個路由。
可以是路由路徑
<router-link to="/home">Home</router-link> <router-link :to="'/home'">Home</router-link>
也可以是路由對象,甚至還可以為其攜帶參數(shù)
<router-link :to="{ path: '/home' }">Home</router-link>
<router-link :to="{ name: 'user', params: { userId: '123' }}">User</router-link>
<router-link :to="{ path: '/register', query: { plan: 'private' }}">
? Register
</router-link>2、使用router-replace
設置 replace 屬性的話,當點擊時,會調(diào)用 router.replace(),而不是 router.push(),所以導航后不會留下歷史記錄。
<router-link to="/abc" replace></router-link>
3、使用router-push
方法1和2是使用html的方法來調(diào)用,對應的,也有使用js代碼來控制路由的方法
router.push('/users/eduardo')
router.push({ path: '/users/eduardo' })
router.push({ name: 'user', params: { username: 'eduardo' } })
router.push({ path: '/register', query: { plan: 'private' } })
router.push({ path: '/about', hash: '#team' })三、路由中params和query的區(qū)別
在上述代碼中, 發(fā)現(xiàn)給路由傳遞參數(shù),有params和query兩個不同的方式,他們的區(qū)別又是什么 ?
query是什么?
從 URL 的 search 部分提取的已解碼查詢參數(shù)的字典。就是地址中?后面的內(nèi)容,不過是已經(jīng)解析的。
params是什么?
從 path 中提取的已解碼參數(shù)字典。就是vue路由中的路徑參數(shù)
如下方代碼中的**id **字段,就是路徑參數(shù),當使用params的時候,就可以獲取到。
const routes = [
? { path: '/users/:id', component: User },
]以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue-preview動態(tài)獲取圖片寬高并增加旋轉功能的實現(xiàn)
這篇文章主要介紹了vue-preview動態(tài)獲取圖片寬高并增加旋轉功能的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
解決vue2中使用axios http請求出現(xiàn)的問題
下面小編就為大家分享一篇解決vue2中使用axios http請求出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Vue-drag-resize 拖拽縮放插件的使用(簡單示例)
本文通過代碼給大家介紹了Vue-drag-resize 拖拽縮放插件使用簡單示例,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

