Vue 路由的配置

DBA护表使者
• 阅读 1545

什么是路由

vue路由是可以通过组件的形式把所有的组件组装成为一个应用程序,当我们需要的时候,将这个组件映射到路由,然后告诉Vue 我们在哪里渲染它们。

路由是我们浏览器的一个地址。

vue路由的优缺点

当我们加载一个程序时,由于它加载的内容特别多,所以会比较缓慢,但是我们加载完之后,我们到页面里进行切换,它的切换速度会变得特别快。原因是因为我们将所有的程序都放在一个页面里面了,我们将它加载时所有的功能所有的主键都加载到一个页面去了,所以它加载的速度特别慢,但是加载完之后我们再进行后续的操作时,它的切换速度和反应速度回特别快。

路由配置安装

路由最主要的配置是在于切换和跳转页面这两个方面。

  • 路由配置
  • 动态效果
  • 命名路由
  • 嵌套路由
<!DOCTYPE html>
<html>
  <meta charset="utf-8">
  <title>Vue 路由的配置</title>
<head>
  <meta charset="utf-8">
  <title>Vue 内置指令</title>
  <script src="Vue.min.js"></script>
  <script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
  <script src="https://unpkg.com/vue-router@3.1.2/dist/vue.js"></script>

  <style>
    * {
      padding: 0;
      margin: 0;
    }
    body {
      background: #F4F5F6;
    }
    a {
      text-decoration: none;
      color: #000;
    }
    #main {
      width:980px;
      margin: 0 auto;
      margin-top: 80px;
    }
    #main-left {
      width: 180px;
      float: left;
    }
    #main-left a {
      display: block;
      width: 100%;
      height: 50px;
      line-height: 50px;
      text-align: center;
    }
    #main-right {
      width: 730px;
      float: right;
      background: #fff;
      padding: 20px;
    }
    .active {
      color: #007Aff !important;
    }

  </style>
</head>

<body>
  <div id="main">
    <!-- 导航栏 -->
    <div id="main-left">
      <router-link to="/home" @click.native="changeIndex(1);" :class="{active : index == 1}">网站首页</router-link>
      <router-link to="/about" @click.native="changeIndex(2);" :class="{active : index == 2}">关于我们</router-link>
    </div>
    <!-- 对应显示的内容 -->
    <div id="main-right">
      <router-view></router-view>
    </div>
  </div>

</body>

<script>
  // 定义组件模块
  const Home = { template: '<div><h1>Vue</h1><p>Vue课程</p></div>' };
  const About = { template: '<div><div><router-link to="/about/ha">关于内容</router-link> | <router-link to="/home/hb">关于课程</router-link></div>' };
  const Ha = { template: '<div><h1>关于内容</h1><p>关于内容........</p></div>'};
  const Hb = { template: '<div><h1>关于课程</h1><p>关于课程........</p></div>'};

  // 定义路由
  const router = new VueRouter({
    routes: [
      { path: '/', redirect: '/home' },
      { path: '/home', component: Home},
      { 
        path: '/about',
        component: About,
        children: [
          {
            path: 'ha',
            component: Ha
          },
          {
            path: 'hb',
            component: Hb
          }
        ]
      },
    ]
  });

  // 创建vue实例并使用路由配置
  var vm = new Vue({
    router,
    data: {
      index: 1
    },
    methods: {
      changeIndex: function(index) {
        this.index = index;
      }
    }
  }).$mount('#main');
</script>
</html>

官方文档:http://router.vuejs.org/zh-cn...

下载地址:http://unpkg.com/vue-router/d...

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
vue 路由懒加载
原文链接: vue路由懒加载(https://my.oschina.net/ahaoboy/blog/1796979)路由懒加载当打包构建应用时,Javascript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合Vue的异步组件
Easter79 Easter79
3年前
vue 路由 懒加载
原文链接: vue路由懒加载(https://my.oschina.net/ahaoboy/blog/1618024)路由懒加载当打包构建应用时,Javascript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合Vue的异步组
达里尔 达里尔
3年前
在Vue项目里遇到多次渲染echart组件只显示一个的问题
症状vue项目echarts中出现“Thereisachartinstancealreadyinitializedonthedom.”的警告Vue页面多次渲染echarts封装的组件但只出现一个(如果这个为主要症状)原因:1.有可能是id冲突,如果你注册了N个组件,但是由于是复制粘贴过来的,导致你所有的组件文件echarts容器
Souleigh ✨ Souleigh ✨
4年前
Vue3.0--Vue Composition API使用体验
本文将之前采用Vue2.6开发的todoList小项目改造成为Vue3.0编写,并介绍一下2.x和3.x之间写法的不同之处。Vue3.x适配大部分Vue2.x的组件配置,也就是说以前我们在Vue2.x针对组件的一些配置项,例如:exportdefault{name:'test',components:{},props:{},
编程范儿 编程范儿
3年前
Vue刷新页面有哪几种方式
在Vue项目中,刷新当前页除了window.reload(),你还能想到什么办法?而且这种办法会重新加载资源出现短暂的空白页面。体验不是很好。在某个详情页面的时候,我们经常需要通过路由中的详情id去获取内容,当我们在不同的详情页来回切换的时候,打开的页面是同一个,只是需要通过监听路由中的参数id的变化去重新请求详情接口。如果这个详情页只需要一个接口
海军 海军
4年前
2021前端技术面试必备Vue:(二)组件篇
上一章已经更新了Vue基础,那么本章将更新Vue中最重要的概念组件,会介绍到组件的使用,组件传值,插槽的使用,插槽的分类。当第一章基础掌握差不多了,然后再学习了组件的开发,那么你就可以开发简单的Vue项目,路由文章还没有更新,学习完Router后,就可以开发实战项目了。<sectionid"nice"datatool"mdnice编
可莉 可莉
4年前
了解Vuex状态管理模式
1Vuex是什么呢?它是Vue的状态管理模式,在使用vue的时候,需要在vue中各个组件之间传递值是很痛苦的,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被改变,所有引用该值的地方就会自动更新。是不是很方便,很好用呢?vuex是专门为vue.js设计的状态管理模式,集中式存储和管理应用程序中所有组件的状态,vuex也集成了vue的
Jacquelyn38 Jacquelyn38
4年前
Vue路由的模块自动化与统一加载
首先呢,我们来看看一般项目路由是怎么划分的。为什么这么划分呢?如果大项目业务非常多,单纯的单页面很难维护,我们只有这样规范化,才能高效率。模块自动化与统一加载的好处:规范化命名(模块名.业务名.vue)不用每次写页面都要去总路由引入组件接下来,我们实战一波。一、建立项目文件目录以及文件夹根据上面的要求建立,依次在src文件夹下的c
Stella981 Stella981
3年前
Opentracing + Uber Jaeger 全链路灰度调用链,Nepxion Discovery
当网关和服务在实施全链路分布式灰度发布和路由时候,我们需要一款追踪系统来监控网关和服务走的是哪个灰度组,哪个灰度版本,哪个灰度区域,甚至监控从HttpHeader头部全程传递的灰度规则和路由策略。这个功能意义在于:不仅可以监控全链路中基本的调用信息,也可以监控额外的灰度信息,有助于我们判断灰度发布和路由是否执行准确,一旦有问题,也可以快速定位
Stella981 Stella981
3年前
Nuxt.js是什么,为什么使用它、Nuxt.js环境搭建
1\.Nuxt.js概述1.1我们一起做过的SPASPA(singlepagewebapplication)单页Web应用,Web不再是一张张页面,而是一个整体的应用,一个由路由系统、数据系统、页面(组件)系统 等等,组成的应用程序。Vue就是SPA
Stella981 Stella981
3年前
Angular最新教程
Angular之所以被称为单页面应用,就是因为我们在改变浏览器URL的时候, 不触发刷新当前页面的行为,我们看到的所有的界面,其实是在一个主URL中。 这个功能(功能?现象?表现?随便吧!)就是通过路由实现的。 下面我们先简单的看一个关于路由的例子。!(https://oscimg.oschina.net/oscnet/4e0e1