vue-router

hash和history

修改hash值可以在不刷新页面的情况下修改页面的url

histroy中有两个方法可以修改url

#pushstart({},‘’,‘hash’),使用栈的数据结构修改url,在栈顶添加hash

#replacestart({},‘’,‘hash’),替换掉栈顶的数据,将栈顶元素替换为hash

#forward(),相当于前进键

#back(),相当于后退键

#go()

安装和配置

1.安装

1.在router的js文件中引入router和vue

   通过vue.use()方法安装router

2.创建一个router对象,传入一个对象作为参数,对象内有一个routes的

   数组属性,用来保存url和组件之间的映射

3.导入路由对象,在需要的地方进行引入使用

2.基本使用

1.在routes中添加映射关系时,每一个映射都是一个对象,每个对象有path和component属性

    path内写一个字符串,内容为路径的片段

   component内写导入的组件

2.在根组件上使用<router-link>引入映射(类似于a标签),使用to属性决定具体的映射(类似于href)

3.<router-view>标签决定映射的显示位置

3.配置

1.默认路径配置

{

   path: '',

    redirect:  '默认页面的path’,
}

2.在创建路由对象时,在对象中除了保存routes这个数组外,还可以传入一个mode属性

   mode: 'history'

  可以讲默认的哈希值修改url改为html5的history属性修改

3.<router-link>的属性

    #tag  决定渲染之后的标签类型

   #replace  不会留下history记录,不能通过返回键返回

   #active-class 当前使用的router-link标签内添加的默认类名

      也可以在创建路由对象时,增加一个LinkActiveClass的属性,属性值为类名

4.通过代码跳转路由   $router获取到的是整个路由对象

   this.$router.push('');

   this.$router.replace('');

动态路由

1.有时url不确定,会根据从服务器获取的数据的不同决定不同的路径,这种配置的路由称为动态路由

2.在配置路由映射时,后面跟上   : 变量名

3.在跟组件下设置data属性,通过v-bind指令动态修改url

4.$route可以获取到当前活跃的组件

    this.$route.params.变量名   可以获取到刚才在配置路由映射是设置的变量此时的值

路由的懒加载

当用到某个模块时再去加载

将不同的路由模块进行分包,当需要某个页面的数据时再去加载。

 

 

 

路由的嵌套

使用步骤

1.创建子组件

2.在组件内部创建<router-view><router-link><router-link>要写完整的路径

3.在对应的要嵌套的路由内写一个childre数组属性,每个数组元素是一个映射对象

 

 

参数使用

类型

1.parmas类型

   按照动态路由的方式传递

 

2.query类型

  

 

导航守卫

1、全局守卫(写在路由的index文件里)

Router.beforeEach(to,from,next){

   //to和from是路由对象,表示跳转前的页面和跳转后的页面的路由映射

  //next是一个函数,表示跳转之后执行的回调函数

}

 

Router.aftereach(to,from){

//不需要手动调用next函数

//执行顺序在beforeEach之后

}

 

meta属性:元数据(描述数据的数据)

2.路由独享的守卫

   在路由内写一个beforeeach的函数,和全局守卫的用法相同

3.组件内的守卫

  在组件中写一个beforerouterenter函数

 

 

keep-alive

1.功能

   可以将组件缓存下来,包含组件的状态,防止组件被重新渲染

2.使用

   将要缓存的组件放在<keep-alive>标签中

3.属性

  #include   值为字符串或者正则表达式,保留某些组件,多个组件用逗号分隔

  #exclude    值为字符串或者正则表达式,不保留某些组件,多个组件用逗号分隔

  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值