031_vue编程式导航
生活随笔
收集整理的這篇文章主要介紹了
031_vue编程式导航
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 頁面導航的兩種方式
1.1. 聲明式導航: 通過點擊鏈接實現導航的方式, 叫做聲明式導航。例如: 普通網頁中的<a></a>鏈接或vue中的<router-link></router-link>。
1.2. 編程式導航: 通過調用JavaScript形式的API實現導航的方式, 叫做編程式導航。例如: 普通網頁中的location.href。
1.3.?vue中的編程式導航
1.3.1.?this.$router.push('hash地址');
1.3.2.?this.$router.go(n);
1.4.?router.push()方法的參數規則
// 路徑名稱 router.push('/user'); // 對象路徑 router.push({path: '/user'}); // 命名路由傳遞參數 router.push({name: '/user_alias', params: {id: 1}}); // 帶查詢參數, 變成/user?uname=lisi router.push({path: '/user', query: {uname: 'lisi'}});1.5.?代碼
<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>編程式導航</title></head><body><div id="app"><router-link to="/user/1">User1</router-link><router-link to="/user/2">User2</router-link><router-link :to="{ name: 'user_alias', params: {id: 3} }">User3</router-link><router-link to="/register">Register</router-link><!-- 路由占位符 --><router-view></router-view></div><script type="text/javascript" src="vue.min.js"></script><script src="vue-router_3.0.2.js"></script><script type="text/javascript">const user = {props: ['id', 'uname', 'age'],template: `<div><h1>User組件 -- 用戶id為: {{id}} -- 姓名為: {{uname}} -- 年齡為: {{age}}</h1><button @click="goRegister">跳轉到注冊頁面</button></div>`,methods: {goRegister() {this.$router.push('/register');}},};const register = {template: `<div><h1>Register組件</h1><button @click="goBack">后退</button></div>`,methods: {goBack() {this.$router.go(-1);}},};// 創建路由實例對象const router = new VueRouter({routes: [{ path: '/', redirect: '/user/3' },{ // 命名路由name: 'user_alias',path: '/user/:id', component: user, props: route => ({ uname: 'zs', age: 20, id: route.params.id }) },{ path: '/register', component: register }]});var vm = new Vue({el: "#app",router: router});</script></body> </html>1.6.?效果圖
總結
以上是生活随笔為你收集整理的031_vue编程式导航的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 030_vue命名路由
- 下一篇: 005_Button按钮