vue2.0 vue-router学习笔记

最近在学习vue.js 2.x。vue-router是其中十分重要的一部分。

在以前的学习中,用过很多后端的路由,比如在laravel框架中,路由的功能是根据前端不同的URL请求,根据路由匹配将请求分发到不同的中间件、方法等。而vue-router是一个前端路由,即是根据不同的路径来决定该加载什么组件。

vue-router的安装:如果在初始化vue-cli的时候,安装了vue-router,就不用重复安装。如果未安装,切换至项目目录下,输入npm install vue-router --save,安装完成。

vue-router的使用:

第一步、首先需要引入并使用该全局组件。如下:

import Router from 'vue-router'
Vue.use(Router)
第二步、初始化router实例、如下:

let router= new Router({
	mode: 'history',
  routes: [
    {
      path: '/',
     
      component: IndexPage
    }]
})
mode有'hash'和'history'两种,和后端配置有关,默认为hash。routes是一个由path(路径),component(要加载的组件)为键的对象所组成的数组。(注意是routes)

第三步、router的使用。

在需要使用路由的组件中,加入router,如下:

new Vue({
  el: '#app',
  router,//es2015的写法,等同于router:router
  template: '<Layout/>',
  components: { Layout }
})
在使用该路由的组件中,使用<router-view></router-view>这个内置组件来装载需要加载的组件,实际效果是该内置组件会被替换成为路由所匹配的组件,如上的<Indexpage></Indexpage>。

同样,如果需要使用类似于href的链接来进行页面间的跳转(实际为加载不同的组件),可以使用<router-link></router-link>内置组件,该组件需要绑定属性,v-bind:to={path:'xxxx'}(简写为:to={path:'xxxxxx'})。

第四步:路由子节点

在实际使用时,路由是多层的,例如访问/detail路径时,加载到一个详情界面,而/detail/apple需要跳转到苹果的详情,/detail/orange需要跳转到橘子的详情。

vue-router的解决方式是建立路由的子节点,如下:

routes: [
    {
      path: '/detail', 
      component: DetailPage,
      children: [
       	{
	      path: 'apple',
	     
	      component: ApplePage
   		},
   		{
	      path: 'orange',
	     
	      component: OrangePage
   		}
      ]
    }
  ]
同样,在DetailPage这个组件中需要使用<router-view></router-view>这个组件来加载不同的组件。(注意:子节点中的path应该为相对路径,不需要加/)。

第五:路由重定向

比如在设计用户登录模块时,如果用户未登陆的状态下访问,需要将用户的访问页面重定向到登陆界面。如下设置路由:

routes: [
 
    {
      path: '/detail', 
      redirect: '/login' ,
     
    }
  ]
在访问/detail时,会重定向跳转到/login。

如有不正确的,希望各路大神指正


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值