位置: IT常识 - 正文

Vue中 数据改变但未渲染的问题,页面中并没有自动更新,但是在控制台可以打印出来,常见解决方法(vue更改数据)

编辑:rootadmin
Vue中 数据改变但未渲染的问题,页面中并没有自动更新,但是在控制台可以打印出来,常见解决方法

推荐整理分享Vue中 数据改变但未渲染的问题,页面中并没有自动更新,但是在控制台可以打印出来,常见解决方法(vue更改数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuex改变数据,vuex改变数据,vue怎样改变data里面的数据,vue怎样改变data里面的数据,vuex改变数据,vue怎样改变data里面的数据,vue修改数据后怎么让数据更新,vue中数据改变页面没有重新渲染,内容如对您有帮助,希望把文章链接给更多的朋友!

在Vue组件中,在mounted阶段调用了一个函数去请求异步数据,将返回结果赋给data里面的值却失败了,赋值完console.log()出来明明是有值的,但页面却没有更新过来。我还一直以为是nuxt生命周期的原因,但明显不是。因为这个问题只有在偶尔才会出现,并不是每次进入页面时渲染都会有这个问题。

1.简单粗暴的方式:重新加载整个页面(体验不友好,不推荐)

2.不妥的方式:使用 v-if

<template><my-component v-if="showComponent" /></template><script>export default {data() {return {showComponent: true,};},methods: {forceRerender() {// 从 DOM 中删除 my-component 组件this.showComponent = false;this.$nextTick(() => {// 在 DOM 中添加 my-component 组件this.showComponent = true;});}}};</script>

3.较好的方法:使用Vue的内置forceUpdate方法

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

// 全局import Vue from 'vue';Vue.forceUpdate();// 使用组件实例export default {methods: {methodThatForcesUpdate() {// ...this.$forceUpdate();// ...}}}Vue中 数据改变但未渲染的问题,页面中并没有自动更新,但是在控制台可以打印出来,常见解决方法(vue更改数据)

4.最好的方法:在组件上进行 key 更改

<template><component-render :key="componentKey" /></template>export default {data() {return {componentKey: 0,};},methods: {forceRerender() {this.componentKey += 1;}}}

5.使用Object.assign()

MDN:Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

方法:

克隆对象,Object.assign({}, target)

克隆数组,Object.assign([], target)针对上例,修改add方法。

this.queryParam = Object.assign({}, this.queryParam);6.使用Vue.set( target , key , value)

方法:

target: 要更改的数据源(可以是一个对象或者数组)key 要更改的具体数据。如果是数组元素更改,key表示索引;如果是对象,key表示键值value 重新赋的值

add() {this.$set(this.persons, 1, {key: 'newkey', name: '888'})console.log(this.persons)}7. ... 展开语法

对象数据obj,使用obj = {...obj}

对于数组arr,使用arr = [...arr]

add() {this.persons[1] = {key: 'newkey', name: '888'}this.persons = [...this.persons]console.log(this.persons)}
本文链接地址:https://www.jiuchutong.com/zhishi/297585.html 转载请保留说明!

上一篇:小满nestjs(第一章 介绍nestjs)(小满秒懂百科)

下一篇:关于服务连接器(Servlet)你了解多少?(服务器连接方式包括直接相连,间接连接)

  • 税收筹划的内容主要包括
  • 零报税有风险吗
  • 税负是什么意思举例子说明
  • 个体户个税计算方法2022税率表
  • 个税专项扣除如何申报
  • 调整账户和被调整账户的关系
  • 资产负债表上的资产是原值还是净值
  • 股东购买固定资产能算实收资本么
  • 个人名义购房
  • 房地产企业取得净地的税收筹划
  • 坏账的处理方法包括
  • 半成品原材料报废会计处理怎么做?
  • 所得税汇算清缴时间期限
  • 道路占用挖掘费要交印花税吗
  • 品牌活动推广文案
  • 增值税普票跨月怎么冲红
  • 进口产品再销售如何缴税
  • 以公允价值计量且变动计入其他综合
  • 材料销售的账务处理
  • bios设置光驱为第一启动项
  • 金税盘减免税款可以抵扣销项税吗
  • 实例讲解yii2.0在php命令行中运行的步骤
  • deldir.exe是什么
  • 一般纳税人做账报税的整个流程详细
  • 公司收到款后怎么做账
  • hiddenalbum是什么文件夹
  • 进口付汇流程
  • 短期借款会计分录例题
  • 温哥华fdu是什么大学
  • 金融资产减值损益怎么算
  • 详解Yii2高级版引入bootstrap.js的一个办法
  • css3的模块结构和应用
  • 装修费摊销的分录是什么
  • 怎么样确认
  • 转让全部探明矿权合法吗
  • Ficstar Software � Web Data Extraction Tools
  • 将织梦dedecms转换到wordpress
  • 帝国cms采集标签
  • 常见的垃圾回收器有哪些
  • 其他应收款资产类
  • 核定征收可以不用申报吗
  • 房地产材料采购清单
  • 长期股权投资转让收益需要交增值税吗
  • 以前年度税费减免税
  • 车间拆除施工方案
  • 城投公司是什么东西
  • 企业与股东之间的交易是否会影响企业财务目标的实现
  • 新会计准则报表模板
  • 营业收入和利润的区别
  • 什么是对公账户?
  • 小规模纳税人变更一般纳税人条件
  • 最新商业会计科目做账
  • mysql分表实践
  • mysql5.7.23
  • mysql配置文件优化详解
  • mysql怎么实现
  • ubuntu和debian哪个稳定
  • linux find命令忽略大小写
  • win10一直弹werfault,程序也打不开
  • mac菜单栏不见了
  • centos简易安装
  • windows7 usb
  • win8.1系统安装
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
  • cocoscreator分包
  • unity3d协程的作用
  • 代码结构说明书
  • django sessionid
  • python数据结构教程
  • shell命令行参数个数
  • nodejs爬取数据
  • python爬虫工作内容
  • jquery的动画效果
  • Unity3D游戏开发标准教程
  • python运行flask
  • 可以抵扣的消费税有哪些
  • 广西国税发票查询系统
  • 四川地方税务 副局长 晓宏
  • 增值税号和增值税账号的区别
  • 季度财务会计报告怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设