位置: 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)你了解多少?(服务器连接方式包括直接相连,间接连接)

  • 工业企业应缴纳的税金有哪些
  • 资源税的计税方法自产
  • 房开企业涉及哪些税种
  • 印花税申报怎么采集
  • 行政职工福利费包括哪些内容呢
  • 季度盈利可以弥补以用以前年度亏损弥补
  • 合同负债里面含增值税吗
  • 小规模纳税人未开票收入填在哪里
  • 2021年旅游免费
  • 存货内部交易抵消通俗讲解
  • 企业处置固定资产
  • 销项税额计算公式13%
  • 一般纳税人城建税怎么计算
  • 社保多交了一份怎么办
  • 外币资本金使用范围
  • 资产负债表金额越来越大代表什么
  • 接受捐赠的要交税吗
  • 房屋及建筑物原值计算
  • 企业出口不退税怎么处理
  • 广告宣传费用的计算方法
  • 银行缴纳印花税的范围
  • 个体户到税务局开专票
  • 商品税目是什么意思4001
  • 没有车船税证明可以年检吗
  • 一张发票上可以开几行
  • windows 10 bug
  • 企业收到留抵退税宣传报道
  • 2021新版win10
  • 纳税人办理退税手续流程
  • 苹果6手机锁屏
  • 公司装修待摊费怎么算
  • 半成品月末账务处理
  • 软件工程毕设题目冷门
  • php 编程
  • 承兑汇票无法兑现的原因
  • php接收ajax请求
  • css calculate
  • 手写发票可以报税吗
  • 用css画一个扇形
  • 专用发票跨月冲红给对方吗
  • 长期股权投资的账面价值怎么计算
  • 进项税额转出如何做分录
  • 预算凭证可以单张打印吗
  • 公司出售固定资产的账务处理
  • 客户要发票加收怎么办
  • 电子钥匙报税
  • 所得税 补税
  • 外购商品职工福利进项税额转出如何记账?
  • 同一控制下的长投入账价值按什么计算
  • 申报前的增值税怎么算
  • 股东分红按利润表的净利润计算
  • 公司员工聚餐属于什么费用
  • 外包会计注意事项
  • 应交增值税贷方余额表示什么
  • 员工离职未领工资怎么处置
  • 商品流通企业会计做账流程
  • 服务企业的举措
  • mysql分页效率
  • 商用计算机英文
  • mac怎么把视频设置成桌面
  • linux用
  • 在linux操作系统中,/etc/rc.d/init.d
  • Win10怎么打开屏幕键盘
  • centos8 redhat
  • win7回收站图标在哪个文件夹
  • fragmentize
  • css优化提高性能的方法有哪些
  • JavaScript中setAttribute用法介绍
  • Javascript Throttle & Debounce应用介绍
  • python 文件头
  • 天气球球下载
  • js调用图片代码
  • Unity3d IOS 64 IL2CPP迁移之 AStarPath JosnFX 错误
  • 贵州新农合可以打电话停保吗
  • 天津市税务总局现任领导
  • uk怎么查看发票开票额度
  • 国家规定的免税项目
  • 企业税费如何计算
  • 支付税控服务费的账务处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设