Vue基础(五)---- 前端路由

bowean 2020-07-05

基本结构:

◆ 1、路由的基本概念与原理

◆ 2、vue-router的基本使用

◆ 3、vue-router嵌套路由

◆ 4、vue-router动态路由匹配

◆ 5、vue-router命名路由

◆ 6、vue-router编程式导航

◆ 7、基于vue-router的案例

◆ 1、路由的基本概念与原理

1.1 路由

    路由是一个比较广义和抽象的概念,路由的本质就是对应关系
    在开发中,路由分为:
        后端路由
         前端路由
     
  ◆ 后端路由
    本质:后端路由根据不同的 URL地址 分发不同的 服务器资源
    过程:浏览器发送url 地址请求  --------------被后端路由拦截----------------> 后端路由去服务器查找对应的服务器资源 --------------------> 后端路由发送给浏览器进行渲染
    Vue基础(五)---- 前端路由
 
    (早期开发中,绝大多数网站都是采用这种方式)--- 后端渲染
      但是这种渲染方式会存在性能问题,假设浏览器有频繁的提交表单的数据交互行为,后端路由会造成网页的不断刷新,体验非常差
 
  因此:
    SPA(Single Page Application)单页面应用程序
      ? 后端渲染(存在性能问题)--------------发展最初
      ? Ajax前端渲染(前端渲染局部刷新网页,提高性能,但是不支持浏览器的前进后退操作)----------------发展中
      ? SPA(Single Page Application): ---------------发达
        整个网站只有一个页面,内容的变化通过Ajax局部更新实现、同时支持浏览器地址栏的前进和后退操作
      ? SPA实现原理之一:基于URL地址的hash(hash的变化会导致浏览器记录访问历史的变化、但是hash的变化不会触发新的URL请求)
      ? 在实现SPA过程中,最核心的技术点就是前端路由
 
  2. 前端路由
    ?概念:根据不同的用户事件,显示不同的页面内容
    ?本质:用户事件与事件处理函数之间的对应关系
    Vue基础(五)---- 前端路由
 
不推荐手动模拟路由,尽量使用 Vue.js 官方的路由管理器--------------Vue Router

◆ 2、vue-router的基本使用

  Vue Router(官网:https://router.vuejs.org/zh/)是Vue.js 官方的路由管理器。
  它和Vue.js 的核心深度集成,可以非常方便的用于SPA应用程序的开发。
    ? 支持HTML5 历史模式或 hash 模式
    ? 支持嵌套路由
    ? 支持路由参数
    ? 支持编程式路由
    ? 支持命名路由
    ? 导航守卫
    ? 路由懒加载
  
  2.1 基本使用步骤
    1. 引入相关的库文件
      首先引入:<script src="./lib/vue_2.5.22.js"></script>
      其次引入:<script src="./lib/vue-router_3.0.2.js"></script>,因为 vue-router 是依赖于 vue 的,顺序不能颠倒
    2. 添加路由链接  
    3. 添加路由填充位   
<div id="app">
      <!-- router-link 是 vue 中提供的标签,默认会被渲染为 a 标签 -->
      <!-- to 属性默认会被渲染为 href 属性 -->
      <!-- to 属性的值默认会被渲染为 # 开头的 hash 地址 -->
      <router-link to="/user">User</router-link>
      <router-link to="/register">Register</router-link>
      
      <!-- 路由占位符 -->
      <!-- 将来通过路由规则匹配到的组件,将会被渲染到 router-view 所在的位置 -->
      <router-view></router-view>
 </div>
    4. 定义路由组件
const User = {
  template: "<h1>User 组件</h1>",
};

const Register = {
  template: "<h1>Register 组件</h1>",
};
    5. 配置路由规则并且创建路由实例
 // 创建路由实例对象
      const router = new VueRouter({
        // 所有的路由规则
        routes: [
          // 每个路由规则都是一个配置对象,其中至少包含 path 和 component 两个属性:
          // path 表示当前路由规则匹配的 hash 地址
          // component 表示当前路由规则对应要展示的组件
          { path: "/user", component: User },
          { path: "/register", component: Register },
        ],
      });
    6. 把路由挂载到Vue 根实例中
// 创建 vm 实例对象
      const vm = new Vue({
        // 指定控制的区域
        el: "#app",
        data: {},
        // 挂载路由实例对象
        // router: router(在ES6中如果属性名和值一样,可以简写)
        router,
      });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

相关推荐

lyjava / 0评论 2020-07-30