<script src="/path/to/vue.js"></script>
<script src="/path/to/vue-router.js></script>
npm install vue-router
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
vue
this.$route // 路由記錄
this.$router // 路由實例 vue-router
用處: 在使用「動態路由參數」時會用到動態路由。
做用: npm
定義: router file函數
{ path: '/user/:id', component: 'user' }
注意: 動態路由的動態部分改變時原來的組件會被複用,這樣就不會觸發生命週期鉤子函數。若要觸發請使用watch $route或beforeRouteUpdate this
使用: user filespa
this.$route.params.id
(待續)code
越先定義優先級越高。component
{ path: '/user', name: 'name', // 命名路由 component: user, alias: '/roler', // 別名 redirect: { name: 'foo' }, // 重定向 props: true // 將 this.$route.params 設置爲組件屬性 }
就是給路由起個名字。方便使用。router
<router-link :to="{ name: 'user', params: { userId: 123 }}">user</router-link> this.$router.push({ name: 'user', params: { userId: 123 }})
定義路由: router file對象
{ path: 'routeUser/:userId', // components: { // default: eleThree, // second: eleSecond // }, // props: { // default: true, // second: true // }, component: routeUser, children: [ { path: '/', components: { default: routeSecond, second: routeThree }, props: { default: dynamicDate, second: true } } ], props: true } function dynamicDate (route) { console.log(route) const now = new Date() return { date: now.getFullYear() } }
定義組件: routeUser file
<p>userId: {{userId}}</p> <router-view></router-view> <router-view name="second"></router-view> props: ['userId']
1. 布爾模式 | 將 this.$route.params 設置爲組件屬性 |
2. 對象模式 | 按原樣設置爲組件屬性 |
3. 函數模式 | 方便作更多的操做 |
(待續)
(待續)
2018.07.26 by stone