Vue中的$router 和 $route的區別 點擊視頻講解更加詳細 this.$route:當前激活的路由的信息對象。每個對象都是局部的,可以獲取當前路由的 path, name, params, query 等屬性。 this.$router:全局的 router 實例。通過 vue 根實例中 ...
Vue中的$router 和 $route的區別
this.$route:當前激活的路由的信息對象。每個對象都是局部的,可以獲取當前路由的 path,
name, params, query 等屬性。
this.$router:全局的 router 實例。通過 vue 根實例中註入 router 實例,然後再註入到每個
子組件,從而讓整個應用都有路由功能。其中包含了很多屬性和對象(比如 history 對象),任何
頁面也都可以調用其 push(), replace(), go() 等方法。
路由跳轉分為編程式和聲明式
聲明式:
簡單來說,就是使用 router-link 組件來導航,通過傳入 to 屬性指定鏈接(router-link 預設會被渲染成一個a標簽)。
編程式:
採用這種方式就需要導入 VueRouter 並調用了。
src\router\index.js
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter)
// 1. 定義一些路由
// 每個路由都需要映射到一個組件。
const routes = [
{ path: '/home', component: ()=> import('../views//home.vue') },
{ path: '/about', component: ()=> import('../views/about.vue') },
]
const router = new VueRouter({
// mode: 'hash', //預設是hash模式,url是帶#號的
mode: 'history', //history模式url不帶#號
routes
})
export default router
src\views\home.vue
<template>
<div id="app">
<h1>home</h1>
<button @click="handerHerf">跳轉</button>
</div>
</template>
<script>
export default {
name: 'App',
data(){
return {
}
},
mounted() {
},
components:{
},
methods:{
handerHerf(){
console.log('this.$router',this.$router)
this.$router.push('/about')
}
}
}
</script>
<style scoped>
</style>
src\views\about.vue
<template>
<div>
<h1>about</h1>
</div>
</template>
<script>
export default {
name: 'about',
data(){
return {
}
},
created(){
console.log('this.$route',this.$route)
},
mounted() {
},
computed:{
},
methods:{
}
}
</script>
<style scoped>
</style>
this.$router參數詳情
this.$route參數詳情