vue 强制组件重新渲染(重置)的两种方案


Posted in Javascript onOctober 29, 2019

数据通过异步操作后,对之前刚加载的数据进行变更后,发现数据不能生效

方案一

当数据变更后,通过watch 监听,先去销毁当前的组件,然后再重现渲染。使用 v-if 可以解决这个问题

<template>
 <third-comp v-if="reFresh"/>
</template>
 
<script>
 export default{
 data(){
  return {
  reFresh:true,
  menuTree:[]
  }
 },
 watch:{
  menuTree(){
 
   this.reFresh= false
   this.$nextTick(()=>{
   
   this.reFresh = true
  })
  }
 }
}
</script>

这种方式虽然可以实现,太不优雅

方案二

通过vue key 实现,原理官方文档。所以当key 值变更时,会自动的重新渲染。

<template>
 <third-comp :key="menuKey"/>
</template>
 
<script>
 export default{
 data(){
  return {
  menuKey:1
  }
 },
 watch:{
  menuTree(){
 
  ++this.menuKey
  }
 }
}
</script>

以上这篇vue 强制组件重新渲染(重置)的两种方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
document.all与WEB标准
May 13 Javascript
Dom加载让图片加载完再执行的脚本代码
May 15 Javascript
基于JQuery 的消息提示框效果代码
Jul 31 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
使用POST方式弹出窗口的两种方法示例介绍
Jan 29 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
javascript获取当前鼠标坐标的方法
Jan 10 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
JS实现的抛物线运动效果示例
Jan 30 Javascript
vue实现新闻展示页的步骤详解
Apr 11 Javascript
javascript实现简单打字游戏
Oct 29 #Javascript
简单使用webpack打包文件的实现
Oct 29 #Javascript
vue 解决异步数据更新问题
Oct 29 #Javascript
VUE实现强制渲染,强制更新
Oct 29 #Javascript
js实现贪吃蛇小游戏
Oct 29 #Javascript
浅谈vue异步数据影响页面渲染
Oct 29 #Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 #Javascript
You might like
php date()日期时间函数详解
2010/05/16 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
微信小程序使用Socket的实例
2017/09/19 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python使用urllib2提交http post请求的方法
2015/05/26 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
Go语言中break label与goto label的区别
2021/04/28 Golang
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL