前言
vue的單頁面應用是基于路由和組件的,路由用于設定訪問路徑,并將路徑和組件映射起來。傳統的頁面應用,是用一些超鏈接來實現頁面切換和跳轉的。在vue-router單頁面應用中,則是路徑之間的切換,也就是組件的切換。
首先在html中,引入vue-router.js和vue.js,用router-link觸發路由跳轉,router-link可以像a標簽一樣使用和定義樣式
router-view區域是路由匹配到的組件渲染的地方
<script src="https://unpkg.com/vue/dist/vue.js"></script><script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <div id="app"> <h1>Hello App!</h1> <p> <!-- 使用 router-link 組件來導航. --> <!-- 通過傳入 `to` 屬性指定鏈接. --> <!-- <router-link> 默認會被渲染成一個 `<a>` 標簽 --> <router-link to="/foo">Go to Foo</router-link> <router-link to="/bar">Go to Bar</router-link> </p> <!-- 路由出口 --> <!-- 路由匹配到的組件將渲染在這里 --> <router-view></router-view></div>
然后是js代碼
首先定義路由組件,組件可以是簡單的組件(template簡單定義即可),也可是extend定義的復雜組件
接下來定義路由映射表,就是定義路徑和組件之間的映射
然后使用路由映射表創建路由對象
最后使用路由對象創建vue對象,并掛載到指定元素
// 0. 如果使用模塊化機制編程,導入 Vue 和 VueRouter,要調用 Vue.use(VueRouter) // 1. 定義(路由)組件。// 可以從其他文件 import 進來const Foo = { template: '<div>foo</div>' }const Bar = { template: '<div>bar</div>' } // 2. 定義路由// 每個路由應該映射一個組件。 其中"component" 可以是// 通過 Vue.extend() 創建的組件構造器,// 或者,只是一個組件配置對象。// 我們晚點再討論嵌套路由。const routes = [ { path: '/foo', component: Foo }, { path: '/bar', component: Bar }] // 3. 創建 router 實例,然后傳 `routes` 配置// 你還可以傳別的配置參數, 不過先這么簡單著吧。const router = new VueRouter({ routes // (縮寫)相當于 routes: routes}) // 4. 創建和掛載根實例。// 記得要通過 router 配置參數注入路由,// 從而讓整個應用都有路由功能const app = new Vue({ router// (縮寫)相當于 router: router1}).$mount('#app') // 現在,應用已經啟動了!上例中,路由映射表實例名為routes,在創建路由對象時可以縮寫,如果不叫routes,比如叫routesa,則創建路由對象時必須寫routes:routesa
創建vue對象時,路由對象名也一樣,如果不叫router,也不能縮寫
使用extend創建模板
新聞熱點
疑難解答
圖片精選