vue实现在进行增删改操作后刷新页面


Posted in Javascript onAugust 05, 2020

问题

通常在后台管理项目中,对数据进行增删改查是常规操作。在进行这些操作后,需要手动刷新才能更新列表。本文主要讨论进行增删改查相关操作后如何使当前页面显示操作后的最新数据。

解决方案 || 以删除为例:

1.强制刷新:this.$forceUpdate()

2.使用window.reload( ) 或 router.go(0),但会使整个浏览器进行重载,页面闪烁。

3.重新调用接口:但性能较差,代码冗长。

vue实现在进行增删改操作后刷新页面

vue实现在进行增删改操作后刷新页面

4.provide / inject :(推荐)

点此查看VUE官方解释:

允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。

首先在App.vue全局设置provide

vue实现在进行增删改操作后刷新页面

在需要刷新的操作页面内注入inject:[‘reload']

vue实现在进行增删改操作后刷新页面

在调用接口操作成功后 this.reload( )

比如在删除接口调用成功后:

vue实现在进行增删改操作后刷新页面

划重点

provide:一个对象或返回一个对象的函数。该对象包含可注入其子孙的属性。

inject:一个字符串数组,或一个对象,对象的 key 是本地的绑定名。

$nextTick(点击查看vue相关文档)

除此之外,provide和inject的用法主要是:在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。

需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据。

补充知识:vue主动刷新页面及列表数据删除后的刷新方法

1.场景

在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。

2.遇到的问题

1. 用vue-router重新路由到当前页面,页面是不进行刷新的

2.采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好

3.解决方法

provide / inject 组合

作用:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

App.vue:

声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载

vue实现在进行增删改操作后刷新页面

tableList.vue:

在页面注入App.vue组件提供(provide)的 reload 依赖,在逻辑完成之后(删除或添加...),直接this.reload()调用,即可刷新当前页面。

vue实现在进行增删改操作后刷新页面

4.provide / inject 用法

provide:选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的属性。

inject:一个字符串数组,或一个对象,对象的 key 是本地的绑定名

提示:provide 和 inject 绑定并不是可响应的。这是刻意为之的。如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。

深入理解数据驱动

以上算是开发过程中的一个坑,用了一段时间,今天再读代码的时候,感觉被坑的很严重。

1. 获取列表方法

vue实现在进行增删改操作后刷新页面

2.重新获取数据

vue实现在进行增删改操作后刷新页面

3.这样再次调用获取数据,即可同步实现页面数据更新(不会重新刷新页面),同时保证有分页时,能够停留在当前页(刷新前如果是第二页,刷新后依然在第二页),

即其他查询条件保持不变,体验效果好!

以上这篇vue实现在进行增删改操作后刷新页面就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
Sep 09 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
jQuery实现手机版页面翻页效果的简单实例
Oct 05 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
Bootstrap Table 删除和批量删除
Sep 22 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 Javascript
vue 限制input只能输入正数的操作
Aug 05 #Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 #Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 #Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
Aug 05 #Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 #Javascript
js实现简单选项卡制作
Aug 05 #Javascript
vue 内联样式style中的background用法说明
Aug 05 #Javascript
You might like
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
Python循环语句之break与continue的用法
2015/10/14 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
改革共识倡议书
2014/08/29 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
公务员政审个人总结
2015/02/12 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫