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

  • 个人所得税跨区域可以申报吗
  • 个人转让房产两年内全额计税是什么意思
  • 隔年的发票能冲销吗
  • 建筑业预交增值税按什么算
  • 企业基本医疗保险和综合医疗保险
  • 企业交税前可以扣除的费用
  • 企业购入办公桌和办公椅的核算
  • 定期存款准备金是什么
  • 银行承兑汇票怎么填写
  • 用来退税的进项怎么抵扣
  • 一般代开增值税多少个点?
  • 增值税预缴税需要申报吗
  • 一次性发放几个月的工资怎么申报
  • 代收国税地税收入
  • 企业所得税上个季度赔钱下个季度挣钱
  • 全资子公司合并抵消
  • 工会经费具体用途是什么
  • 收到汇算清缴退税的现金流量
  • 加计抵减申报表填写视频
  • 护建设税和教育费附加?
  • 鸿蒙系统桌面布局图片怎么设置
  • win 安全
  • 固定资产不入账是谁的责任
  • 个体工商户与其经营者构成共同侵权吗
  • 进口的固定资产包括哪些
  • ixapplet.exe - ixapplet是什么进程 有何作用
  • 债务重组法律服务方案
  • ipcservice.dll是什么?
  • laravel执行seed命令
  • 债券转换是什么意思
  • 计提坏账准备和转销坏账准备
  • 下岗再就业有什么优惠政策
  • 购买土地缴纳契税
  • 财行〔2019〕11号代扣代缴手续费的解读
  • html的网址
  • php怎么写数据库
  • php合并数组的方法
  • 基于transformers的nlp入门 pdf
  • 印花税申报时间填错了怎么处理?
  • 非居民纳税人183天新税法
  • 购买需要安装的设备计入什么科目
  • 融资租赁业务的程序主要有
  • 化工企业 设备
  • 安装和使用蓄能器应注意哪些问题
  • 怎么在网上申请信用卡
  • 科目余额表怎么填
  • 小规模纳税人的企业所得税税率
  • 预付账款购进原材料怎么做账
  • 财务费用账户属于什么账户
  • 有形动产租赁服务的增值税税率
  • 不符合资本化的长期借款利息计入什么科目
  • 分期收款销售的特点是描述正确的是
  • 员工社保报销流程
  • 收到建筑发票会计分录
  • 销售款退回会计分录
  • 上月财务费用多做了,本月怎么调
  • 研发费用加计扣除2022政策
  • 三栏明细账本怎样填写
  • 计提坏账准备的会计分录
  • 购入旧的固定资产还能一次性抵扣吗
  • 海尔笔记本最新款
  • mac怎么修改图片格式jpg
  • qtaet2s.exe - qtaet2s是什么进程 有什么用
  • 电脑自带的groove音乐用不了
  • Android OpenGL ES(三)----编程框架
  • shader教程
  • JavaScript中的math.pi
  • js的eval函数
  • 回弹健腹轮是智商税吗
  • javascript教学视频
  • 什么是城建税和土地税
  • 税盘注销了怎么申报增值税
  • 广州市地税局领导名单
  • 中山市国家税务总局阜沙分局局长杨兴华
  • 请问地税是省直单位吗
  • 小学语文教学的核心素养
  • 国际贸易争端的形式
  • 个人股权转让是否增值了怎么判断
  • 大连开发区哪家自助餐好吃还便宜
  • 小微企业所得税5%优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设