vue路由

本文深入探讨了Vue.js的前端路由库vue-router,从基本概念到高级特性,包括路由的定义、使用、重定向、高亮、动画、参数传递、嵌套路由、命名视图以及watch和计算属性的运用。详细介绍了如何在Vue项目中安装、配置和应用vue-router,帮助开发者实现流畅的页面切换和状态管理。
摘要由CSDN通过智能技术生成

Vue.js - vue路由

一 什么是路由

  1. 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;

  2. 前端路由:对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现;我们的路由就指这个。

     www.baidu.com#/login  
     http在发送请求的时候,#后面的不会发送,只会在当前页面中跳来跳去。
    
  3. 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由);

二 路由的基本使用

  1. 使用组件login,只限于在HTML使用,其他地方使用的是组建的模板对象

    	Vue.component('login', {
      		template: '<h1>登录组件</h1>'
       })
    
  2. 安装 vue-router 路由模块

    <script src="./lib/vue-router-3.0.1.js"></script>
    
  3. 创建一个路由对象

    1.当导入 vue-router 包之后,
    在 window 全局对象中,就有了一个 路由的构造函数,叫做 VueRouter
    2.在 new 路由对象的时候,可以为 构造函数,传递一个配置对象
    3.配置对象属性:route-路由匹配规则
       每个路由规则,都是一个对象,这个规则对象,身上,有两个必须的属性:
       属性1 是 path, 表示**监听** 哪个路由链接地址;
       属性2 是 component, 表示如果 路由是前面匹配到的 path ,
                         	则展示 component 属性对应的那个组件
       注意:  component 的属性值,必须是一个组件的模板对象,不能是组件的引用名称;
       属性3 是redirect,客户端页面内重定向
    
       var routerObj = new VueRouter({
       	 routes: [      
       	        { path: '/', redirect: '/login' }, //客户端页面内重定向
       	        { path: '/login', component: login },
       	        { path: '/register', component: register }
       	      ],
            linkActiveClass: 'myactive'
       })
    
  4. 关联vue关系-通过vue的router属性

     将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
         var vm = new Vue({
             el: '#app',
             data: {},
             methods: {},
             router: routerObj 
           });
    
  5. 定义组件

     // 组件的模板对象
       var login = {
         template: '<h1>登录组件</h1>'
       }
    
       var register = {
         template: '<h1>注册组件</h1>'
       }
    
  6. 渲染a标签

       <router-link to="/login" tag="span">登录</router-link>
       <router-link to="/register">注册</router-link>
    

三 在 vue 中使用 vue-router

  1. 导入 vue-router 组件类库:

     <script src="./lib/vue-router-2.7.0.js"></script>
    
  2. 使用 router-link 组件来导航

     相当于a标签:<a href="#/login">登录</a> 
     <router-link to="/login">登录</router-link>
     <router-link to="/register">注册</router-link>
    
  3. 使用 router-view 组件来显示匹配到的组件

     <router-view></router-view>
    
  4. 创建使用Vue.extend创建组件

     // 4.1 使用 Vue.extend 来创建登录组件
      var login = Vue.extend({
       	template: '<h1>登录组件</h1>'
     });
    
     // 4.2 使用 Vue.ex
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良之才-小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值