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 所说的吸顶效果就是在页面没有滑动之 ...
随机推荐
- Linux 总结篇
1. sudo -i update upgrade install 包名 (openjdk-8-jdk) autoremove 自动删除不需要的包(remove卸载) sudo apt-get 2. ...
- spring session cpu占用过高
集成spring session很简单,只需几行代码即可. @Configuration @EnableRedisHttpSession public class SessionConfig { ...
- SDOI2019 Round2
这鬼家伙已经咕了好久了-- SDOIR2的题目挺好玩的- 快速查询(???) 不难发现所有的操作都可以通过区间打Tag实现 那么可以维护两个标记\(a,b\)表示序列中的数为\(x\)时实际表示的值是 ...
- Consul 的安装与基本使用
什么是 Consul Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面.这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全服务网格.Consul需 ...
- JSP 9大隐式对象和四个作用域的范围
Java中 九大隐式对象说明 输入/输出对象: request response out 作用域通信对象: session application pageContext Servlet ...
- 关于Shareppoint客户端对象模型和Shareppoint根据内部名称获取字段值的随笔
实际上,每个SharePoint字段实际上有两个名称,一个是“标题”(Title,有时候也把它叫做“显示名称”),一个是“内部名称”(Internal Name).平时用户在列表视图界面上看到的,都是 ...
- jQuery动画(带参数)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- vue应用难点总结
一.父子组件生命周期 父组件create->子组件create->子组件mounted->父组件mounted 当一个钩子函数使用了异步请求时,并不会等该钩子函数中所有异步的回调都执 ...
- javascript 常见的面试题---数组 && 算法
网上汇总而来的题目. 第一题: 用 JavaScript 写一个函数,输入 int 型(正整数),返回整数逆序后的字符串.如:输入整型 1234,返回字符串“4321”. 要求必须使用递归函数调用,不 ...
- SQL*Plus 与数据库的交互(SQL*Plus时什么)
Oracle 的 SQL*Plus 是与数据库进行交互的客户端工具,在 SQL*Plus中,可以运行 SQL*Plus 命令与 SQL*Plus 语句. SQL*Plus 时一个基于 C/S 两层 ...