vue-router笔记
1.vue-router 安装
在安装webpack模块时就安装了
eg: vue init webpack demo (安装webpack模块并取名为demo)
在安装模块时没有安装的话,可以
npm install vue-router --dev-save
2.基本路由
components目录下写路由后的.vue页面
router/index.js 写路由的内容(导入和路径描写)
App.vue下写路径指引(router-link to=“”)
3.子路由
components目录下写路由后的.vue页面;
子路由的父路由的想要显示子路由内容的地方写 router-view
router/index.js的子路由的路径要写在子路由的父路由的children属性下,格式与routers相同
eg:
// 子路由 // { // path: '/Hi', // component: Hi, // children: [ // {path: '/', name: 'Hi',component: Hi}, // {path: 'Hi1', name: 'Hi1',component: Hi1}, // {path: 'Hi2', name: 'Hi2',component: Hi2}, // ] // }
4.使用name进行参数传递
直接使用{{router.name}}进行参数传递
或者是
绑定+引用
绑定:
router-link:to="{name:'demo',params:{username:'xiao_ruo_ji',id:'666'}}"
引用:
{{$route.params.username}}-{{$route.params.id}}
5.多路由操作
创建多个router-view
使用name来区分每个router-view
router/index.js里面的components进行配置(默认名称为default)
eg:
// 多路由操作 // { // path: '/', // name: 'HelloWorld', // components: { // default:HelloWorld, // left:Hi1, // right:Hi2 // } // }, 6.url传参 (定义)直接在/router/index.js的path中使用“:”来进行参数绑定,绑定的过程中还可以使用“(正则表达式)”来进行参数类型限制,哦,对了,不要忘记导入。 (传参)App.vue中进行使用routerlink to=“路径/参数1/参数2/...” (引用/参数获取) components目录下对应的文件中{{$route.text.text}}进行导入 eg: <p>NewsTitle:{{$route.params.newsTitle}}</p> 7.重定向 用途:url不同,页面相同 eg: index.js中 { path:'/goHome', redirect:'/' } 或者是(path) { path:'/goParams/:newsId(\\d+)/:newsTitle' } 然后在App.vue中引用 <router-link to:"/goParams/178/xiao-bai">goParams</router-link> 8.alias别名 index.js路由最后 alias:'/another_name' 与重定向的区别: alias的url中显示的是别名 redirecter的url中显示的是重定向后的url 9.简单路由过渡动画 transition标签包裹路由 name="fade" mode="out-in" ||"in-out" eg: <transition name="fade" mode="out-in"> <router-view /> <router-view name="demo" /> </transition> css(style)中: .fade-enter{ opacity:0; }
.fade-enter-active{ transition:opacity .3s; } .fade-leave{ opacity:1; } .fade-leave-active{ opacity: 0; transition:opacity .3s; } 10.mode用法与404页面的添加 /router/index.js下的 routers的第一个属性 mode 可以有两个值 history(不显示‘#’) hash(默认) 404页面 只需要在components目录下自己写个404页面 然后在routers的path中使用“*”来定位即可 11.钩子函数 (to,from,next)=>{
next({path:'/'}); //跳转到"/"} 注意:next()相当于是个开关,没有它,就不会执行后面的东西。可以根据to、from的内容对next进行开关控制1.钩子函数可以放到路由中,eg: { path:'/params/:newsId(\\d+)/:newsTitle', name:'params', component:params, beforeEnter:(to,from,next)=>{ console.log(to); console.log(from); next(); } }, 12.编程式导航 前进 后退 返回任意界面
<template> <div> <button @click="goBack">后退</button> <button @click="goGo">前进</button> <button @click="goHome">返回首页</button> </div></template> <script> export default { name: 'App', methods:{ goBack(){ this.$router.go(-1); }, goGo(){ this.$router.go(1); }, goHome(){ this.$router.push("/"); } } }</script>
vue-router笔记的更多相关文章
- Vue.js 2.x笔记:路由Vue Router(6)
1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...
- Vue Router学习笔记
前端的路由:一个地址对应一个组件 Vue Router中文文档 一.路由基本使用 第1步:导入Vue Router: <script src="https://unpkg.com/vu ...
- Vue学习笔记-Vue.js-2.X 学习(七)===>脚手架Vue-CLI(路由Router)
脚手架Vue-CLI(路由Router) 一 按装(通过新创建脚手架按装),如果在原来的脚手架上按装直接进图型化界面vue ui的插件按装. 二 使用(上面按装下面步骤自动会生成) 第一步:导入路由对 ...
- python 全栈开发,Day91(Vue实例的生命周期,组件间通信之中央事件总线bus,Vue Router,vue-cli 工具)
昨日内容回顾 0. 组件注意事项!!! data属性必须是一个函数! 1. 注册全局组件 Vue.component('组件名',{ template: `` }) var app = new Vue ...
- vue学习笔记(九)vue-cli中的组件通信
前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...
- vue学习笔记(十)路由
前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...
- Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)
(五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二 Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...
- Vue学习笔记-Django REST framework3后端接口API学习
一 使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7 (Windows x86- ...
- Vue学习笔记-vue-element-admin 前端学习
一 使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7 (Windows x86- ...
- Vue 2.0 + Vue Router + Vuex
用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...
随机推荐
- JavaScript String对象常用方法
length 返回字符串的长度(字符数) var str='Hello World!'; str.length; charAt() 返回指定位置的字符,第一个字符位置为0 var str='Hello ...
- window下Jekyll建站过程
> 前言 最近决定要写一个博客,先后注册了博客园和CSND的博客,但是他们的界面主题都不是很符合自己的要求,还没有足够个性化的发挥空间,遂决定自己建一个博客. 网上找了一下教程,感觉都不太详细, ...
- css 样式表集合
说到前端不得不说一下css样式 css样式是用来装饰我们的html让整个页面显得更丰富多彩,所以我们要熟悉各种css样式,本人搜集了一下 供大家参考一下 字体属性:(font) 大小 {font-si ...
- Java中的深拷贝和浅拷贝(转载)
深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java.虽然java自动管理对象的回收,但对于深拷贝(深复 ...
- Jmeter参数化设置,多用户登录
一.模拟多用户登录场景 如登录模式如下图所示,登录界面中需要输入:用户名.密码.验证码 用户名以及密码均是固定值,不需要做处理.验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询. 在此场景 ...
- lodash常用函数 - Array、Collection
lodash常用函数 - Array.Collection lodash版本 v3.10.1 1.Array.Collection pull 移除数组中满足条件的元素 var array = [1, ...
- 【Leetcode】【Medium】Rotate Image
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...
- 实现UILabel渐变色效果
实现UILabel渐变色效果 效果如下图: 源码: // // CombinationView.h // ChangeColorLabel // // Created by YouXianMing o ...
- linux系统参数
vm.swappiness = 清理掉cache给新的程序用当然可以, 但也带来了新的问题, 也就是如果这些(原来cache里的)数据还要使用, 又得重新cache. 产生了新的IO, 新的wait. ...
- JS获取URL中参数值的4种方法
方法一:正则法 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...