vue 里面的 $forceUpdate() 强制实例重新渲染操作


Posted in Javascript onSeptember 21, 2020

迫使 Vue 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。

比如v-for里面数据层次太多, 修改过数据变了,页面没有重新渲染,需手动强制刷新。

for(...){
 ...
}
this.$forceUpdate();

补充知识:VUE项目中使用this.$forceUpdate();解决页面v-for中修改item属性值后页面v-if不改变的问题

页面展示:

vue 里面的 $forceUpdate() 强制实例重新渲染操作

实现效果:点击实现列表内容的展开、折叠。

代码:

<div class="invoice-list" v-for="(item,index) in invoiceData" :key="index">
 <div class="images"><img src="../../../../../static/images/invoice_pu.png" v-if="item.invoiceType == '0'"><img src="../../../../../static/images/invoice_zhuan.png" v-else-if="item.invoiceType == '1'"></div>
 <div class="text">
  <h3 v-if="item.invoiceType == '0'">增值税普通发票</h3>
  <h3 v-else-if="item.invoiceType == '1'">增值税专用发票</h3>
  <p><span>企业名称:</span>{{item.enterpriseName}}</p>
  <p><span>税号:</span>{{item.dutyParagraph}}</p>
  <transition name="fade">
  <div class="zhuanInfo" v-if="item.mark == true">
    <p><span>注册地址:</span>{{item.address}}</p>
    <p><span>联系电话:</span>{{item.contactNumber}}</p>
    <p><span>开户银行:</span>{{item.accountOpeningBank}}</p>
    <p><span>银行账号:</span>{{item.bankAccount }}</p>
  </div>
  </transition>
  <div class="zhuanMark" v-if="item.invoiceType == '1'">
   <p class="hideMark">
    <img src="../../../../../static/images/arrow_bottom.png" v-if="item.mark == false" @click="clickZhuanMark(index,$event)">
    <img src="../../../../../static/images/arrow_top.png" v-else @click="clickZhuanMark(index,$event)">
   </p>
  </div>
  <div class="list-radio"><input type="radio" value="" name="selectContact" @change="getInvoiceId(item.invoiceId)" /></div>
 </div>
</div>

v-for渲染出列表,在执行列表折叠展开时"clickZhuanMark" JS如下:

clickZhuanMark(val,event){
 this.invoiceData[val].mark = !this.invoiceData[val].mark;
 
},

可是实际并没有如设想的那样实现效果,之后修改代码:

vue 里面的 $forceUpdate() 强制实例重新渲染操作

添加this.$forceUpdate();进行强制渲染,效果实现。搜索资料得出结果:因为数据层次太多,render函数没有自动更新,需手动强制刷新。

以上这篇vue 里面的 $forceUpdate() 强制实例重新渲染操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
jquery弹出框的用法示例(一)
Aug 26 Javascript
一个CSS+jQuery实现的放大缩小动画效果
Feb 19 Javascript
js实现分割上传大文件
Mar 09 Javascript
浅谈JavaScript中的this指针和引用知识
Aug 05 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
angularJS模态框$modal实例代码
May 27 Javascript
微信小程序之数据缓存的实例详解
Sep 29 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
vue中使用vue-cli接入融云实现即时通信
Apr 19 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
vue组件入门知识全梳理
Sep 21 #Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 #Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 #Javascript
vue操作dom元素的3种方法示例
Sep 20 #Javascript
npm ci命令的基本使用方法
Sep 20 #Javascript
js面试题之异步问题的深入理解
Sep 20 #Javascript
js实现简单的点名器随机色实例代码
Sep 20 #Javascript
You might like
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
jquery中文乱码的多种解决方法
2013/06/21 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
python快速查找算法应用实例
2014/09/26 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python合并多个装饰器小技巧
2015/04/28 Python
python选择排序算法实例总结
2015/07/01 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
python 多个参数不为空校验方法
2019/02/14 Python
python 通过文件夹导入包的操作
2020/06/01 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
饮料业务员岗位职责
2013/12/15 职场文书