vuejs實現(xiàn)頁面跳轉(zhuǎn)的方法:1、使用“<router-link to="頁面url地址">…</router-link>”語句;2、使用“this.$router.push({path: '頁面url地址' })”語句。
本教程操作環(huán)境:windows7系統(tǒng)、vue2.9.6版,DELL G3電腦。
Vue路由實現(xiàn)頁面跳轉(zhuǎn)的兩種方式(router-link和JS)
1、通過 <router-link> 實現(xiàn)
<router-link> 組件用于設(shè)置一個導航鏈接,切換不同 HTML 內(nèi)容
使用方法:
-
簡單寫法
<router-link to="demo2">demo2</router-link>
-
使用 v-bind 的寫法
<router-link :to="'demo2'">demo2</router-link> <!-- 也可以用{}包裹對應(yīng)的path或name --> <router-link :to="{ name: 'demo2' }">demo2</router-link>
-
傳參的寫法
<router-link :to="{ name: 'demo2', params: { userId: 123 }}">demo2</router-link>
這里傳參需要在 router.js 中對 demo2 的路徑進行配置,在 path 中 demo2 后添加通配符 : 和對應(yīng)的 userId,如下:
{ path: '/demo2/:userId', name: 'demo2', component: demo2 },
配置完成后,頁面跳轉(zhuǎn)的結(jié)果就為 /demo2/123
這里的“123”就是上面的 userId
那么,如何在新頁面中獲取到傳過來的參數(shù) userId 呢?
在 mounted 鉤子中使用 this.$route.params.xx. 獲取傳過來的參數(shù),如下:
mounted () { alert(this.$route.params.userId) } // 彈出123
-
傳入地址鍵值對
<router-link :to="{ path: 'demo2', query: { plan: 'private' }}">demo2</router-link>
頁面跳轉(zhuǎn)的結(jié)果為 /demo2?plan=private
(注意這里不用在 router.js 里配置路徑)
在新頁面中獲取到傳過來的地址鍵值對 plan,可以在 mounted 鉤子中使用 this.$route.plan.xx. 獲取傳過來的地址鍵值對,如下:
mounted () { alert(this.$route.query.plan) } // 彈出private
2、通過 JS 實現(xiàn)—this.$router.push()
template 部分:
<button @click="toURL">跳轉(zhuǎn)頁面</button>
script 部分:
(注意這里是 router,上面是 route)
-
簡單寫法
methods:{ toURL(){ this.$router.push({ path: '/demo2' }) } }
-
傳參的寫法
methods:{ toURL(){ this.$router.push({ name: 'demo2', params: { userId: 123 }}) } }
-
傳入地址鍵值對
methods:{ toURL(){ this.$router.push({ name: 'demo2', params: { userId: 123 }, query: { plan: 'private' } }) } }