从零开始简单的路由

如果你只需要非常简单的路由而不想引入一个功能完整的路由库,可以像这样动态渲染一个页面级的组件:

  1. const NotFound = { template: '<p>Page not found</p>' }
  2. const Home = { template: '<p>home page</p>' }
  3. const About = { template: '<p>about page</p>' }
  4. const routes = {
  5. '/': Home,
  6. '/about': About
  7. }
  8. new Vue({
  9. el: '#app',
  10. data: {
  11. currentRoute: window.location.pathname
  12. },
  13. computed: {
  14. ViewComponent () {
  15. return routes[this.currentRoute] || NotFound
  16. }
  17. },
  18. render (h) { return h(this.ViewComponent) }
  19. })

结合 HTML5 History API,你可以建立一个麻雀虽小五脏俱全的客户端路由器。可以直接看实例应用