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 相关文章推荐
控制打印时页眉角的代码
Feb 08 Javascript
Javascript 验证上传图片大小[客户端]
Aug 01 Javascript
javascript延时加载之defer测试
Dec 28 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
jquery的幻灯片图片切换效果代码分享
Sep 07 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
JS中常用的正则表达式
Sep 29 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
vue指令以及dom操作详解
Mar 04 Javascript
JavaScript实现滚动加载更多
Dec 27 Javascript
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
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服务器实现多session并发运行
2006/10/09 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
PHP实现的日历功能示例
2018/09/01 PHP
YII框架http缓存操作示例
2019/04/29 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
js面向对象编程总结
2017/02/16 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
新闻专业个人自我评价
2013/09/21 职场文书
可口可乐广告词
2014/03/20 职场文书
设备管理实施方案
2014/05/31 职场文书
离职报告范文
2014/11/04 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
Django框架之路由用法
2022/06/10 Python