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 ...
随机推荐
- Python-网络编程(二)
今天继续网络编程的东西 一.网络通讯原理 1.互联网的本质就是一系列的网络协议 我们是在浏览器上输入了一个网址,但是我们都知道,互联网连接的电脑互相通信的是电信号,我们的电脑是怎么将我们输入的网址变成 ...
- CSS3动画功能
1.transition功能 transition属性的使用方法:transition:property duration timing-function; 其中property表示对哪个属性进行平滑 ...
- AngularJS $watch 监听
监听$watch 监听数据变化,有三个参数 $scope.$watch(“监听的属性”,function(new,old){},true); 写true的时候可以监听一个对象里的多个数据变化,不写tr ...
- Android 保存和恢复activity的状态数据
一般来说, 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失, 当activity重新回到前台之后, 所有的改变都会 ...
- 微信小程序开发5-WXML
1.HTML元素是构建网页的一种单位,是由HTML标签和HTML属性组成的,HTML元素也是网页中的一种基本单位.HTML与其他标记语言一样,HTML的关键,是标签(tag).HTML标签是HTML语 ...
- scrum心得和团队作业
一.学习scrum心得 敏捷的介绍 最近上课我们了解到了敏捷,很多人开始谈论敏捷开发.研究敏捷开发,那么究竟什么才是敏捷开发呢? 简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开 ...
- nfs 服务器
1.创建共享目录 #mkdir /home/hellolinux/nfs 2.创建或修改/etc/exports文件 #vi /etc/exports home/hellolinux/nfs 192. ...
- Ubuntu16.04使用所遇问题记录
记录笔者在使用Ubuntu系统过程中所遇到过的错误/问题和解决方案.本机系统为Ubuntu 16.04 LTS,64-bit. 目前已有的解决方案: (1)Ubuntu安装搜狗输入法 (2)Windo ...
- Webpack笔记(三)——一款破产版脚手架的开发
前些天一直在学习入门Webpack,后来尝试了自己搭建一下一个简单的React开发环境,后来就在想可不可以自己写一个简单的脚手架,以免每次搭建一个简单的开发环境都需要自己一个个的配置,这样很麻烦,使用 ...
- 一个关于JSON的异常,获取List对象失败的。。。
重要的事情放在最前面,,以后不管遇到什么异常都一定要把异常读懂再想办法怎么解决,把异常读懂,异常读懂...... 这个异常我记得以前遇到过,而且好像已经做了笔记,,,,,今天翻了一下竟然没有,,,,, ...