vue2.0路由进阶
一、路由的模式
第一种用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路由进阶的更多相关文章
- vue2.0路由
		现在用vue-cli搭建的环境里面vue-router是下载好的 vue2.0路由方式和以前也有些不同 没了了map和start方法 目录结构如上图 这里有三个文件,app.vue显示,main.js ... 
- vue2.0路由写法、传参和嵌套
		前置知识请戳这里 vue-routerCDN地址:https://unpkg.com/vue-router@3.0.1/dist/vue-router.js vue-router下载地址:https: ... 
- vue2.0路由变化1
		路由的步骤 1.定义组件 var Home={ template:'<h3>我是主页</h3>' }; var News={ template:'<h3>我是新闻& ... 
- vue2.0路由-路由嵌套
		vue一个重要的方面就是路由,下面是自己写的一个路由的例子: 1.引入依赖库就不必再说 2.创建组件 两种写法 第一种:间接 <template id="home"> ... 
- vue2.0 路由学习笔记
		昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ... 
- 解决vue2.0路由 TypeError: Cannot read property 'matched' of undefined 的错误问题
		刚开始使用vue-router2.0,虽然也用了vux,用起来却发现一个问题--具体如下: 正常情况下使用脚手架跑完之后,然后修改源项目,首先在main.js入口里把该import进去的vuex,vu ... 
- vue2.0路由切换后页面滚动位置不变BUG
		最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变. 方法一: 监听路由 // app.vue export default { watch:{ '$route':func ... 
- vue2.0路由写法
		// 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter) // 1. 定义(路由)组件. // 可以从其他文件 import 进来 var Fo ... 
- vue2.0  路由传参(router-link传过去)
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
随机推荐
- Spark入门学习
			1. Spark Overview(spark概述) Apache spark是一个快速和通用的集群计算系统.它提供了Java,Scala,Python和R的高级APIs,以及支持通用执行图的优化引擎 ... 
- UEP-下拉
			uep建立下拉 静态下拉: ①private Map<String,String> beanMap = new HashMap<String,String>(); //gett ... 
- 关于atom
			以前老听别人说atom这款编辑器如何如何的好用,今天特地试了下,结果一不小心将顶部的工具栏给隐藏了,弄了半天都没弄出来.后来就在网上到处寻找帮助,试试这个试试那个,终于弄好了,其实是这样的. 首先在任 ... 
- javascript之fill()方法
			无意中看到fill这个方法,有些不解,起初以为是人家自定义的方法,后来才发觉原来不是,javascript里面是真的有这个方法,于是特地学习了下. fill()方法的作用是使用一个固定值来替换数组中的 ... 
- HDU 5538 House Building(模拟——思维)
			题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5538 Problem Description Have you ever played the vi ... 
- php常用数据结构
			# 常用数据结构--------------------------------------------------------------------------------## 树(Tree)- ... 
- 每天一个linux命令(34):du 命令
			Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ... 
- async函数解析
			转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ... 
- 显示/隐藏Mac隐藏文件
			显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defaults writ ... 
- 读懂 Deployment YAML - 每天5分钟玩转 Docker 容器技术(125)
			既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似. 还是以 nginx-deploymen ... 
