路由
本章節(jié)我們將為大家介紹 Vue.js 路由。Vue.js 路由允許我們通過(guò)不同的 URL 訪問(wèn)不同的內(nèi)容。通過(guò) Vue.js 可以實(shí)現(xiàn)多視圖的單頁(yè)Web應(yīng)用(single page web application,SPA)。
目錄
官方路由
對(duì)于大多數(shù)單頁(yè)面應(yīng)用,都推薦使用官方支持的 vue-router 庫(kù)。更多細(xì)節(jié)可以移步 vue-router 文檔。
從零開始簡(jiǎn)單的路由
如果你只需要非常簡(jiǎn)單的路由而不想引入一個(gè)功能完整的路由庫(kù),可以像這樣動(dòng)態(tài)渲染一個(gè)頁(yè)面級(jí)的組件:
const NotFound = { template: '<p>Page not found</p>' } const Home = { template: '<p>home page</p>' } const About = { template: '<p>about page</p>' } const routes = { '/': Home, '/about': About } new Vue({ el: '#app', data: { currentRoute: window.location.pathname }, computed: { ViewComponent () { return routes[this.currentRoute] || NotFound } }, render (h) { return h(this.ViewComponent) } })
結(jié)合 HTML5 History API,你可以建立一個(gè)麻雀雖小五臟俱全的客戶端路由器??梢灾苯涌?a target="_blank">實(shí)例應(yīng)用。
整合第三方路由
如果你有更偏愛(ài)的第三方路由,如 Page.js 或者 Director,整合起來(lái)也一樣簡(jiǎn)單。這里有一個(gè)使用了 Page.js 的完整示例。