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 ...
随机推荐
- inline-block和float的区别,什么时候使用
文章转载于新浪博客http://blog.sina.com.cn/s/blog_5f39af320101qckt.html 只用于学习交流 什么时候使用inline-block,什么时候使用float ...
- 01_Jdk自带SPI
[SPI的设计目标] 面向对象的设计里,模块之间是基于接口编程,模块之间不对实现类进行硬编码. 一旦代码里设计具体的实现类,就违法了可插拔的原则,如果需要替代一种实现,就要修改代码. 为了实现在模块装 ...
- JavaScript & jQuery Code Snippet
1. 按照每个object的Name属性对object对象集合进行排序: //sort a collection of objects by Name property function sortBy ...
- 【Machine Learning】监督学习、非监督学习及强化学习对比
Supervised Learning Unsupervised Learning Reinforced Learning Goal: How to apply these methods How t ...
- ES入门——数组的扩展
1.Array.from() 该方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象,包括ES6新增的数据结构Set和Map.下面是 ...
- 求解2的N次幂的问题(多种方法)
#include <iostream> using namespace std; //计算2的N次幂 //一般方法,时间复杂度为2^n __int64 pow2(int n) { __in ...
- Javascript 删除tr 元素
Javascript 删除tr 元素 function delete1(obj){ var tr=obj.parentNode.parentNode; var tbody=tr.parentNod ...
- angular2 ng build --prod 报错:Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory'
调试页面 ng serve 正常 ng build 也正常 ng build --prod 异常:Module not found: Error: Can't resolve './$$_gendir ...
- CentOS 6 网络yum源配置
# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update ...
- 自开发Web应用和SAP Customer Data Cloud Identity服务的集成
今天的文章继续由SAP成都研究院的云时代女王,Aviva给大家分享关于SAP Customer Data Cloud的一些使用经验. Aviva之前的文章可以在本文末尾处获得. 下面是她的正文. 大家 ...