程序员

vue-router原理

2018-08-21  本文已影响0人  tency小七
前提:

异步交互体验的更高级版本就是 SPA ,大型单页应用最显著特点之一就是采用前端路由系统,通过改变URL,在不重新请求页面的情况下,更新页面视图。

页面都是由组件组成的,只需要把组件和路径相对应起来,就能把组件渲染出来。

  1. 页面实现:在vue-router中, 它定义了两个标签 和来对应点击和显示部分。 就是定义页面中点击的部分, 定义显示部分。

  2. js中配置路由:首先要定义route,一条路由的实现,他是一个对象,由path和component组成。

     const routes = [
     {// 首页
     path: '/',
     component: () => import('src/pages/home/index.vue'),
     },
     {// 首页更多功能
     path: '/functionManage',
     component: () => import('src/pages/home/functionManage.vue'),
     },
      ]
    
  3. 创建router对路由进行管理,它是由构造函数 new vueRouter() 创建,接受routes 参数。
    router.js文件中

     const router = new VueRouter({
     routes,
       })
    
  4. 配置完成后,把router 实例注入到 vue 根实例中。
    main.js文件中

     window.vm = new Vue({
        router,
       })
    

执行过程:当用户点击 router-link 标签时,会去寻找它的 to 属性, 它的 to 属性和 js 中配置的路径{ path: '/home', component: Home} path 一一对应,从而找到了匹配的组件, 最后把组件渲染到 标签所在的地方。
前端路由是通过改变URL,在不重新请求页面的情况下,更新页面视图。
目前在浏览器环境中这一功能的实现主要有2种:

window.addEventListener('hashchange', matchAndUpdate)

https://github.com/muwoo/blogs/issues/24

上一篇下一篇

猜你喜欢

热点阅读