Vue.js 路由

本章節我們將為大家介紹 Vue.js 路由

Vue.js 路由允許我們通過不同的 URL 訪問不同的內容

通過 Vue.js 可以實現多視圖的單頁Web應用single page web application,SPA)。

Vue.js 路由需要載入?vue-router 庫

中文文檔地址:vue-router文檔。


安裝

1、直接下載 / CDN

https://unpkg.com/vue-router/dist/vue-router.js

NPM

推薦使用淘寶鏡像:

cnpm install vue-router

簡單實例

Vue.js + vue-router 可以很簡單的實現單頁應用

以下實例中我們將 vue-router 加進來,然后配置組件和路由映射,再告訴 vue-router 在哪里渲染它們。代碼如下所示:

HTML 代碼

<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>

JavaScript 代碼

// 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
}).$mount('#app')// 現在,應用已經啟動了!

?嘗試一下 ?

NPM 路由實例

接下來我們演示了一個使用 npm 簡單的路由實例,開始前,請先下載該實例源代碼:

路由實例

你也可以在 Github 上下載:https://github.com/chrisvfritz/vue-2.0-simple-routing-example

下載完后,解壓該目錄,重命名目錄為 vue-demo,vu 并進入該目錄,執行以下命令:

# 安裝依賴,使用淘寶資源命令 cnpm
cnpm install# 啟動應用,地址為 localhost:8080
cnpm run dev

如果你需要發布到正式環境可以執行以下命令:

cnpm run build

執行成功后,訪問 http://localhost:8080 即可看到如下界面: