返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue格式化数据后切换页面出现NaN问题及解决
  • 785
分享到

Vue格式化数据后切换页面出现NaN问题及解决

2024-04-02 19:04:59 785人浏览 安东尼
摘要

目录格式化数据后切换页面出现NaN目的问题原因解决方案数字运算有时候会出现NAN的情况具体给出解决办法格式化数据后切换页面出现NaN 目的 在一个Vue项目中,需要对返回数据的时间戳

格式化数据后切换页面出现NaN

目的

在一个Vue项目中,需要对返回数据的时间戳进行格式化,数据格式如下

res =  [ { "program_id": 6, "code": 1005,"create_time": 1627022366, 
            "child": [ { "program_id": 7, "code": 1006, "create_time": 1627022366,} ] } ]

问题

利用递归进行格式化,在computed中执行,第一次显示没有问题,但切换页面后,时间显示变成一行NaN

fORMatProjectList (list) {
  let projectList = list.map((item) => {
  // formatTime是格式化函数,返回'Y-m-d H:i:s'格式的字符串
      item.create_time = formatTime(new Date( item.create_time * 1000 ), 'Y-m-d H:i:s')
      if (item.child) { this.formatProjectList (item.child) }
      return item
    })
    return projectList
  },

原因

在map函数中,item.create_time 直接修改了源数据res,res是已格式完成的字符串

切换页面会重新触发computed,此时再执行格式化会将字符串传给formatTime格式化函数,formatTime接收了字符串会返回NaN

解决方案

将源数据res进行深拷贝,再执行该函数

computed: {
  projectList () {
      // deepClone 是深拷贝函数
      let newList = deepClone(res.data.list)
      let formatList = this.formatProjectList(newList)
      return formatList
    }
  }

数字运算有时候会出现NAN的情况

vue的html中,经常会出现,需要对获取的数据进行加减乘除运算的情况,如果在表达式中进行运算

例:{{ a + b + c }}

这种会导致,你在获取数据的时候,值还没取到,dom刚开始渲染,所以a,b,c的值做运算,会显示NAN,等到数据获取结束,才会显示运算结果,对于这种短暂的NAN的闪现,往往会影响用户体验

具体给出解决办法

一种是加loading,通过loading来覆盖NAN,另一种是在Http请求的结果response.data中,直接赋值处理

如:

this.result = this.a + this.b + this.c

注意:这里的result必须在data属性中定义,否则会报错。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Vue格式化数据后切换页面出现NaN问题及解决

本文链接: https://lsjlt.com/news/150540.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue格式化数据后切换页面出现NaN问题及解决
    目录格式化数据后切换页面出现NaN目的问题原因解决方案数字运算有时候会出现NAN的情况具体给出解决办法格式化数据后切换页面出现NaN 目的 在一个vue项目中,需要对返回数据的时间戳...
    99+
    2024-04-02
  • Vue格式化数据后切换页面出现NaN如何解决
    这篇文章主要介绍“Vue格式化数据后切换页面出现NaN如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue格式化数据后切换页面出现NaN如何解决”文章能帮助大家解决问题。格式化数据后切换页面...
    99+
    2023-06-30
  • 单页面Vue页面刷新出现闪烁问题及解决
    目录分析原因: 为什么刷新会出现闪烁的问题解决方法: 使用 v-cloak 用法关于Vue刷新页面问题如何解决 provide / inject 组合分析原因: 为什么刷新...
    99+
    2024-04-02
  • Vue打包后页面出现空白的问题如何解决
    这篇文章主要介绍“Vue打包后页面出现空白的问题如何解决”,在日常操作中,相信很多人在Vue打包后页面出现空白的问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue打包后页面出现空白的问题如何解决...
    99+
    2023-06-20
  • vue数据变化但页面刷新问题怎么解决
    今天小编给大家分享一下vue数据变化但页面刷新问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue数据变化但页面...
    99+
    2023-06-30
  • 如何解决ajax中提交数据到后台jsp页面及页面跳转问题
    这篇文章主要为大家展示了“如何解决ajax中提交数据到后台jsp页面及页面跳转问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决ajax中提交数据到后台...
    99+
    2024-04-02
  • vue引入element-ui之后,页面是空白的问题及解决
    目录vue引入element-ui之后,页面是空白的1、确定项目是vue几2、vue2引入element-ui的方法3、vue3引入element-ui的方法vue项目页面空白的几个...
    99+
    2023-01-11
    vue引入element-ui element-ui页面空白 vue element-ui
  • ecshop伪静态后产品列表页切换显示方式无法打开页面的解决问题
    theme/default/library/goods_list.lbi 在你的FTP里找到这个库文件,这里以default默认模板为例子,其他的请到各自模板文件夹下找,然后找到下面这段代码 <form metho...
    99+
    2022-06-12
    ecshop 伪静态
  • 如何解决vue路由变化页面数据不刷新的问题
    这篇文章给大家分享的是有关如何解决vue路由变化页面数据不刷新的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。每天记录一点点,把我遇到的问题记录下来, 希望可以帮助到更多和我...
    99+
    2024-04-02
  • vue打包后出现空白页的原因及解决方式详解
    目录路由模式 history路由模式 hash总结1. 修改路径2. 更改路由模式路由模式拓展路由的hash和history模式的区别打包路由选择路由模式 history 新建项目什...
    99+
    2024-04-02
  • Vue向后端传数据后端接收为null问题及解决
    目录Vue向后端传数据后端接收为null他们的格式安装qsmian.js中添加vue请求Vue捕获后端抛出异常设置前设置后Vue向后端传数据后端接收为null 由于axios默认发送...
    99+
    2024-04-02
  • 如何解决vue2.0路由切换后页面滚动位置不变BUG的问题
    这篇文章主要为大家展示了“如何解决vue2.0路由切换后页面滚动位置不变BUG的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决vue2.0路由切换后...
    99+
    2024-04-02
  • 解决vue修改数据页面不重新渲染问题
    目录vue渲染机制和如何解决数据修改页面不刷新问题的多种方法vue渲染机制和如何解决数据修改页面不刷新问题的多种方法 本文不讲原理,只讲干货易懂易学 首先 第一点,vue底层是 将d...
    99+
    2023-03-24
    vue修改数据页面 修改页面不重新渲染
  • vue解决刷新页面时会出现变量闪烁的问题
    目录刷新页面时会出现变量闪烁问题解决办法是: v-cloakvue刷新当前页面,且页面不闪烁场景:刷新当前页的方法provide/inject 组合介绍provide/inject ...
    99+
    2024-04-02
  • Vue编程格式化代码属性自动换行问题怎么解决
    这篇文章主要介绍“Vue编程格式化代码属性自动换行问题怎么解决”,在日常操作中,相信很多人在Vue编程格式化代码属性自动换行问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue编程格式化代码属性自...
    99+
    2023-07-02
  • 如何解决Vue 路由切换时页面内容没有重新加载的问题
    小编给大家分享一下如何解决Vue 路由切换时页面内容没有重新加载的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第二次进入页...
    99+
    2024-04-02
  • 解决vue页面刷新vuex中state数据丢失的问题
    页面刷新后,原有的 vuex 中的 state 会发生改变,如果在页面刷新之前,可以将 state 信息保存,页面重新加载时,再将该值赋给 state,那么该问题即可解决。 1、lo...
    99+
    2024-04-02
  • vue项目打包之后接口出现错误的问题及解决
    目录错误信息关键代码打包前打包后解决方式设置环境变量总结错误信息 这是新建一个项目还原问题,node简单写了个数据返回 关键代码 const express = require('...
    99+
    2024-04-02
  • vue多次打包后出现浏览器缓存的问题及解决
    目录vue多次打包后出现浏览器缓存解决方案使用hash解决vue浏览器的缓存缓存问题怎么解决缓存问题解决办法vue多次打包后出现浏览器缓存 每次打包更新版本上传到服务器上,会偶尔出现...
    99+
    2022-11-13
    vue 浏览器缓存 vue浏览器缓存问题 vue多次打包
  • Vue数据更新但页面没有更新的多种情况问题及解决
    目录数据更新但页面没有更新的多种情况1.Vue无法检测实例被创建时不存在于data中的变量2.vue也不能检测到data中对象的动态添加和删除3.数组的时候4.异步获取接口数据,DO...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作