对Vue beforeRouteEnter 的next执行时机详解
背景
今天在用vue实现界面的时候,想在beforeRouteEnter钩子函数中去获取数据,然后通过next方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染的时候赋值,苦思不得其解,遂google之,终寻原因,记录之。
注意
beforeRouteEnter (to, from, next) { console.log(this); //undefined,不能用this来获取vue实例 console.log('组件路由钩子:beforeRouteEnter'); next(vm => { console.log(vm); //vm为vue的实例 console.log('组件路由钩子beforeRouteEnter的next'); }); }
next(vm=>{console.log(‘next') })
这个里面的代码很晚执行,执行时机在组件mounted周期之后
拓展知识:对vue中的beforeRouteEnter()和beforeRouteLeave()的函数解释
1、beforeRouteEnter(to, from, next){
要执行的代码操作
next();
}
beforeRouteEnter:进入路由之前执行的函数。
next(); --》 必须有这个,相当于一个按钮开启一样。
2、beforeRouteLeave(to, from, next){
要执行的代码操作
next();
}
beforeRouteLeave:离开路由之前执行的函数。
next(); --》 必须有这个,相当于一个按钮开启一样。
以上这篇对Vue beforeRouteEnter 的next执行时机详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
现象 加载第一个组件(这里的第一个意思是浏览器历史记录的第一个,后文称为 待监听组件 )时,正常跳转其他页面可以触发beforeRouteLeave. 但是 按浏览器的后退按钮监听不到该事件. 解决方案 目前采用比较土且不实用的解决方案.加一层组件,再router.push到 待监听组件 ,使得 待监听组件 非第一个组件,可以正常监听beforeRouteLeave事件. 注意点: 由于打乱了原来的路由.需要在main.js中添加全局的路由监听 router.beforeEach((to, fr
-
对Vue beforeRouteEnter 的next执行时机详解
背景 今天在用vue实现界面的时候,想在beforeRouteEnter钩子函数中去获取数据,然后通过next方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染的时候赋值,苦思不得其解,遂google之,终寻原因,记录之. 注意 beforeRouteEnter (to, from, next) { console.log(this); //undefined,不能用this来获取vue实例 console.log('组件路由钩子:beforeRouteEnter'); next(vm
-
vue中各选项及钩子函数执行顺序详解
在vue中,实例选项和钩子函数和{{}}表达式都是不需要手动调用就可以直接执行的. vue的生命周期如下图: 在页面首次加载执行顺序有如下: beforeCreate //在实例初始化之后.创建之前执行 created //实例创建后执行 beforeMounted //在挂载开始之前调用 filters //挂载前加载过滤器 computed //计算属性 directives-bind //只调用一次,在指令第一次绑定到元素时调用 directives-inserted //被绑定元素插入父
-
vue中created、watch和computed的执行顺序详解
目录 前言 为什么? 1.关于initComputed 2.关于initWatch 总结 前言 面试题:vue中created.watch(immediate: true)和computed的执行顺序是啥? 先看个简单的例子: // main.js import Vue from "vue"; new Vue({ el: "#app", template: `<div> <div>{{computedCount}}</div> &
-
vue实现简单表格组件实例详解
本来想这一周做一个关于vuex的总结的,但是由于朋友反应说还不知道如何用vue去写一个组件,所以在此写写一篇文章来说明下如何去写vue页面或者组件.vue的核心思想就是组件,什么是组件呢?按照我的理解组件就是装配页面的零件,比如一辆车有大大小小许多零件组成,那么同样的一个页面,也是有许多组件构成的比如说头部组件 按钮组件等等,vue三大核心组件 路由 状态管理,路由控制页面的渲染,页面由组件组成,数据有vuex进行管理和改变.下面我会以一个简单的案例来说 第一步:构建一个简单的vue项目,老规矩
-
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({// 选项}) 虽然没有完全遵循 MVVM 模型,Vue 的设计无疑受到了它的启发.因此在文档中经常会使用 vm (ViewModel 的简称) 这个变量名表示 Vue 实例. 1.vue.js就是一个构造器,通过构造器Vue来实例化一个对象:例如:var vm = new Vue({}); 2.实例化Vue时,需要传入一个参数(选项
-
Vue.directive()的用法和实例详解
官网实例: https://cn.vuejs.org/v2/api/#Vue-directive https://cn.vuejs.org/v2/guide/custom-directive.html 指令定义函数提供了几个钩子函数(可选): bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作. inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中). update: 被绑定元素所在的模板更新
-
基于vue 兄弟组件之间事件触发(详解)
直奔主题! 兄弟组件之间的事件触发,大概思路是通过父级组件交换数据,watch来监听触发事件. 场景是父级组件A同时引用两个子级组件B,C.点击B组件中的按钮执行C组件中的事件. 第一步:父级组件A <bottom-play :play="playStatus" @playStatus="btmChild"></bottom-play> methods:{ listChild:function(val){//B组件自定义事件 状态是布尔值 t
-
vue组件三大核心概念图文详解
前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛戳 github博客 ,纸上得来终觉浅,大家动手多敲敲代码! 一.属性 1.自定义属性props prop 定义了这个组件有哪些可配置的属性,组件的核心功能也都是它来确定的.写通用组件时,props 最好用对象的写法,这样可以针对每个属性设置类型.默认值或自定义校验属性的值,这点在组件开发中很重要,
-
vue的toast弹窗组件实例详解
相信普通的vue组件大家都会写, 定义 -> 引入 -> 注册 -> 使用 ,行云流水,一气呵成,但是如果我们今天是要自定义一个弹窗组件呢? 首先,我们来分析一下弹窗组件的特性(需求): 0. 轻量 --一个组件小于 1Kib (实际打包完不到0.8k) 1.一般都是多处使用 --需要解决每个页面重复引用+注册 1.一般都是跟js交互的 --无需 在 <template> 里面写 <toast :show="true" text="弹窗消息
-
vue组件 keep-alive 和 transition 使用详解
1.keep-alive 能在组件切换过程中将状态保留在内存中,防止重复渲染DOM. 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们.和 相似, 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中. 当组件在 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行. include: 字符串或正则表达式.只有匹配的组件会被缓存. exclude: 字符串或正则表达式.任何匹配的组件都不会被缓存. // 组件 export
随机推荐
- JavaScript 全面解析各种浏览器网页中的JS 执行顺序
- asp下利用xml打包网站文件
- jquery中加载图片自适应大小主要实现代码
- Docker 打包python的命令详解
- asp.net网站的404错误页面的正确设置方法第1/2页
- PHP实现二维数组根据key进行排序的方法
- web.py获取上传文件名的正确方法
- Android Toast的用法总结(五种用法)
- React实践之Tree组件的使用方法
- JavaScript中数据结构与算法(五):经典KMP算法
- 如何写好你的JavaScript【推荐】
- nodejs中转换URL字符串与查询字符串详解
- Python 迭代器工具包【推荐】
- 指定网页的doctype解决CSS Hacking方法总结
- 统计出现最多的字符次数的js代码
- SQL Server数据库安装时常见问题解决方案集锦
- 获取Android手机中所有短信的实现代码
- JAVA心得分享---return语句的用法
- Cocos2d-x中获取系统时间和随机数实例
- Java微信公众号开发之通过微信公众号获取用户信息