一、路由的模式

  第一种用history方式实现,HTML5使用window.history.pushState()实现路由的切换而不刷新页面。

  第二种使用hash值的方式来实现。

  vue2.0两种都可以使用只需要在配置路由时加上

  mode:'history/mode'    vue2.0默认为hash模式。需要切换为history模式时使用

  

  const router = new VueRouter({
  // mode:'history',
  routes:routes
  })

  两种模式的区别:

  hash:支持所有浏览器,包括不支持HTML5的浏览器。

  history:依赖html5 history API

二、一般配置路由:

  

  <div>
    <router-link to="/home">主页</router-link>
    <router-link to="/news">新闻</router-link>
  </div>
  <div>
    <router-view></router-view>
  </div>

  //准备组件
  var Home={
  template:'<h3>我是主页</h3>'
  };
  const News={
  template:'<h3>我是新闻</h3>'
  };
  //配置路由
  const routes=[
  {path:'/home',component:Home},
  {path:'/news',component:News},
  {path:'*',redirect:'/home'}
  ];
  //生成路由实例
  const router = new VueRouter({
  routes:routes
  });
  //最后挂载
  new Vue({
  router:router,
  el:'#box'
  })

这样有一个缺点:如果修改路由配置的路径时每一个router-link都需要改变,所以有如下优化方法:

  html中:

    <router-link :to="{name:'Home'}">              //有冒号,传入的为一个对象

  JS中:

    配置路由时使用

      routes:[

        {name:'Home',path:'/',component:Home},

      ]

    需要改变路径时只需要改变配置时的路径即可。

三、路由使用tag标签

  例如有些时候在ul中必须嵌套li要设置路由的话必须在li中再嵌套<router-link>

  eg:

  <ul>

      <li><router-link></router-link></li>  

    </ul>

  使用tag标签时即可优化:

    <ul>

      <router-link tag="li"></router-link>

    </ul>

四、动态路由

  eg:

  <router-link :to="{name:'BookDetails',params:{id:1}}"></router-link>   

  在JS中使用

  const bookID = this.$router.params.id调用即可 

vue2.0路由进阶的更多相关文章

  1. vue2.0路由

    现在用vue-cli搭建的环境里面vue-router是下载好的 vue2.0路由方式和以前也有些不同 没了了map和start方法 目录结构如上图 这里有三个文件,app.vue显示,main.js ...

  2. vue2.0路由写法、传参和嵌套

    前置知识请戳这里 vue-routerCDN地址:https://unpkg.com/vue-router@3.0.1/dist/vue-router.js vue-router下载地址:https: ...

  3. vue2.0路由变化1

    路由的步骤 1.定义组件 var Home={ template:'<h3>我是主页</h3>' }; var News={ template:'<h3>我是新闻& ...

  4. vue2.0路由-路由嵌套

    vue一个重要的方面就是路由,下面是自己写的一个路由的例子: 1.引入依赖库就不必再说 2.创建组件 两种写法 第一种:间接 <template id="home"> ...

  5. vue2.0 路由学习笔记

    昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ...

  6. 解决vue2.0路由 TypeError: Cannot read property 'matched' of undefined 的错误问题

    刚开始使用vue-router2.0,虽然也用了vux,用起来却发现一个问题--具体如下: 正常情况下使用脚手架跑完之后,然后修改源项目,首先在main.js入口里把该import进去的vuex,vu ...

  7. vue2.0路由切换后页面滚动位置不变BUG

    最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变.  方法一: 监听路由 // app.vue export default { watch:{ '$route':func ...

  8. vue2.0路由写法

    // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter) // 1. 定义(路由)组件. // 可以从其他文件 import 进来 var Fo ...

  9. vue2.0 路由传参(router-link传过去)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. UEP-自定义持久化类

    HY-UEP提供了两种持久化方式:基于JPA的持久化机制和自定义持久化机制,JPA的持久化机制 比较符合现在的软件开发模式,支持各种主流数据库;自定义持久化时我们平台产品的特有持久化 机制的升级,在综 ...

  2. UEP-标签

    这里的标签都是常用不好理解的: formatfunc="showFormatNumer" 显示数字在页面上 ockedcolumnnum="6" 几列是不动的 ...

  3. 关于jquery ajax跨域请求获取response headers问题

    背景:最近项目jwt用户认证方式,关于jwt本人就不再赘述,大家可自行百度. jwt token基本流程是这样的: 用户使用用户名密码来请求服务器 服务器进行验证用户的信息 服务器通过验证发送给用户一 ...

  4. nginx服务器配置/websocket nginx 配置笔记

    server { listen 80; server_name xxx.com; # add_header '*' ; location /u/ { # 反向代理透传客户端ip proxy_set_h ...

  5. 关于在vue-cli中使用微信自动登录和分享

    (以下所有接口由后台提供) 一.微信自动登录 //定义事件 methods:{ //判断是否微信登陆 是不是微信浏览器 isWeiXin() { let ua = window.navigator.u ...

  6. 直接请求转发(Forward)和间接请求转发(Redirect)两种区别?

    用户向服务器发送了一次HTTP请求,该请求肯能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的.根据转发方式的不同,可以区分为直接请求转发 ...

  7. oracle查看表空间下数据文件

    下面两个数据字典视图就知道了.查看有哪些表空间:select * from dba_tablespaces;查看有哪些数据文件在哪个表空间中:select * from dba_data_files; ...

  8. 1.(python)__new__与__init__

    1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 # -*- coding: ...

  9. C语言的函数调用过程

    从汇编的角度解析函数调用过程 看看下面这个简单函数的调用过程: int Add(int x,int y) { ; sum = x + y; return sum; } int main () { ; ...

  10. Maven1-HelloWorld简单入门

    编写POM(Project Object Model) Maven项目的核心是pom.xml,它定义了项目的基本信息,用于描述项目如何构建,声明项目依赖 创建文件夹,名称为hello-world 创建 ...