vue路由监听及路由守卫
路由监听:
//当一个组件被复用的时候,那么路由发生变化,但是页面上面的数据不会发生变化
新建one.vue 组件 作为home的子组件,在home.vue 中写遍历渲染页面 ,并用params传参,
one中 因为created只执行了一次,就接收都第一次传的值,所以需要监听
方案:
1、watch :{ "$route"(to,from){ this.name = to.params.name ; } }
to 中有params 属性,有name 和 id
from (从哪来,上一次点击的记录)
路由守卫 2、路由守卫1 !!!
beforeRouteUpdate(to,from,next){ this.name = to.params.name ;next() }
to 中params 属性 有name 和id
next() 必加,to
3、路由守卫2 !!! 离开时
beforeRouteLeave(to,from,next){ var flag = confirm("您确定要离开吗") if(flag){ next() }}
confirm 中,点击确定为true,取消为false;next必须
4、路由守卫3 !!! 进入时
访问不到this,因为进入前 组件没有导入。调用next函数
beforeRouteEnter(to,from,next){
// 访问不到this,因为进入前组件没有导入,需要用到next
next((vm)=>{
// 通过ajax的success 接收后台传来的 登录状态
let flag = false;
if(!flag){
vm.$router.push("/login");
}else{
next();
} }
全局守卫:index.js 中
const router = new Router{ ... }
//验证用户的登录状态
router.beforeEach(to,from,next){
let flag = false;
//需要全局守卫的路由的name
let routers = ["find","order","my"]
//
if(routers.indexOf(to.name)>=0){
if(!falg){
router.push("/login")
}else{
next();
}
}else{
next();
}
}
export default router
index.js 中导出router
vue路由监听及路由守卫的更多相关文章
- vue中监听路由参数的变化
在vue项目中,假使我们在同一个路由下,只是改变路由后面的参数值,期望达到数据的更新. mounted: () =>{ this.id = this.$route.query.id; this. ...
- Vue路由监听
一.问题描述 描述:页面1showowner.vue跳转到页面2showuser.vue 需求:页面1的多个结点对应于一个页面2文件[页面2未展示] 问题:并不是页面一的一个结点对应一个页面二文件 处 ...
- vue的路由带参数和取参数,watch路由监听
1.写在html里 <router-link :to="{path:'/goldShop/goodsInfo',query: { id:item.id }}" class=& ...
- vue路由监听和参数监听
1.路由携带数据跳转 routerAction(hideDisplays, data) { switch (hideDisplays) { case "pubAccountMenu" ...
- 解决ui-router路由监听$stateChangeStart、$stateChangeSuccess、$stateChangeError不执行的问题
问题解答 angular1项目导入ui-router之后,使用路由监听,代码如下 angular.module('app', ['ui.router', 'ui.router.state.events ...
- angularjs -- 路由监听
前几天,项目在做一个功能时需要在页面切换之前关闭正在执行的函数.尝试了几种方式都不行,最后想到既然angularjs是通过理由切换页面,那就在路由上面做文章吧.AngularJS在路由发生改变时,可以 ...
- angularjs路由监听,uirouter感知路由变化,解决uirouter路由监听不生效的问题
壹 ❀ 引 angularjs除了惊为天人的双向数据绑定外,路由也是出彩的一笔,通过路由配置,我们能在不发起页面跳转的情况下,对当前页内容进行整体更新,angularjs提供了ngRoute模块用于 ...
- vue时时监听input输入框中 输入内容 写法
Vue input 监听 使用 v-on:input="change" 实现即可 App.vue <template> <div> <md-field ...
- Vue 事件监听实现导航栏吸顶效果(页面滚动后定位)
Vue 事件监听实现导航栏吸顶效果(页面滚动后定位) Howie126313 关注 2017.11.19 15:05* 字数 100 阅读 3154评论 0喜欢 0 所说的吸顶效果就是在页面没有滑动之 ...
随机推荐
- 【LEETCODE】35、169题, Majority Element
package y2019.Algorithm.array; import java.util.HashMap; import java.util.Map; /** * @ProjectName: c ...
- quartz2.3.0(十一)任务执行中故障情况,可设置重新执行任务
任务类 package org.quartz.examples.example11; import org.quartz.Job; import org.quartz.JobExecutionCont ...
- quartz2.3.0(九)job任务监听器,监听任务执行前、后、取消手动处理方法
job1任务类 package org.quartz.examples.example9; import java.util.Date; import org.quartz.Job; import o ...
- Elasticsearch-6.7.0系列(八)开启kibana监控
修改ES配置: 修改elasticsearch.yml,添加如下xpack配置: xpack.security.enabled: true xpack.ml.enabled: true xpack.l ...
- 可拖拽dialog
指令的封装转自https://blog.csdn.net/sinat_21902709/article/details/86545444 可拖拽dialog应用于很多弹出框,所以需要作用于全局 在插件 ...
- Linux ass2srt
Linux ass2srt bash script #! /usr/bin/env bash ] then echo "USAGE: $0 <directory> <fro ...
- 心知天气数据API 产品的高并发实践
心知天气数据API 产品的高并发实践 心知天气作为国内领先的商业气象服务提供商,天气数据API 产品从公司创立以来就一直扮演着很重要的角色.2009 年API 产品初次上线,历经十年,我们不断用心迭代 ...
- Java 之 web服务器—Tomcat
一.服务器 1.服务器 服务器:安装了服务器软件的计算机 2.服务器软件 服务器软件:接收用户的请求,处理请求,做出响应 3.Web 服务器软件 web 服务器软件:接收用户的请求,处理请求,做出响应 ...
- javascript中的prototype和__proto__的理解
在工作中有时候会看到prototype和__proto__这两个属性,对这两个属性我一直比较蒙圈,但是我通过查阅相关资料,决定做一下总结加深自己的理解,写得不对的地方还请各位大神指出. 跟__prot ...
- python两则99乘法表
分别应用while和for的嵌套循环,适用于初学的人看看 x = 1 while x <= 9: y = 1 while y <= x: print (y,'*',x,'=',x*y,en ...