位置: IT常识 - 正文

[Vue warn]: Error in render: “TypeError: Cannot read properties of undefined(reading“category1Name“

编辑:rootadmin

推荐整理分享[Vue warn]: Error in render: “TypeError: Cannot read properties of undefined(reading“category1Name“,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

明明页面正常显示,但是控制台却一直报 如下 错误

 [Vue warn]:渲染错误:"TypeError:无法读取未定义的属性(读取'category1Name')" 中发现的

 Detail 的 vuex 仓库 

import { reqDetail } from "@/api"export default{ actions:{ async getDetail({commit},skuId){ const result = await reqDetail(skuId) console.log(result) if(result.code == 200){ commit("GETDETAIL", result.data) } } }, mutations:{ GETDETAIL(state,value){ state.DetailList = value } }, state:{ DetailList:{} }, getters:{ categoryView(state){ return state.DetailList.categoryView }, }}

可以看出 DetailList 是通过发送请求获取到的数据,而这个数据,当请求没有返回数据的时候初始状态是一个空的对象或者是数组 

通过 getters 将 DetailList 中的数据提取出来,方便使用

[Vue warn]: Error in render: “TypeError: Cannot read properties of undefined(reading“category1Name“

在组件中使用 categoryView 数据

<div class="conPoin"> <span v-show="categoryView.category1Name" >{{categoryView.category1Name}}</span> <span v-show="categoryView.category2Name" >{{categoryView.category2Name}}</span> <span v-show="categoryView.category3Name" >{{categoryView.category3Name}}</span></div>computed:{ ...mapGetters(['categoryView'])}

会报开头错误

原因:假设我们网络故障,导致DetailList的数据没有请求到,即DetailList是一个空的对象,当我们去调用getters中的return state.DetailList.categoryView时,因为DetailList为空,所以也不存在categoryView,即我们getters得到的categoryView为undefined。所以我们在html使用该变量时就会出现没有该属性的报错。

即:网络正常时不会出错,一旦无网络或者网络问题就会报错。

解决:

categoryView(state){ return state.DetailList.categoryView || {} },

 在返回值后面 加一个 || ,当属性值为 undefined 时,会返回 || 后面的数据 ,这样就不会报错

如果返回值是对象 后面就加 || { }

如果返回值是数组 后面就加 || [ ]

这个错误不会影响页面,但是起码要明白警报的原因

如果在组件中使用初始可能为空的数据,也可以根据返回的数据类型用一个空的数组或者对象兜底

<template> <div class="spec-preview"> <img :src="imgObj.imgUrl"/> <div class="event"></div> <div class="big"> <img :src="imgUrl" /> </div> <div class="mask"></div> </div></template><script> export default { name: "Zoom", props: ["skuImageList"], computed:{ imgObj(){ return this.skuImageList[0] || {} } } }</script>

或者直接判断 当这个数据有值时才显示

<template> <div class="spec-preview"> <img :src="skuImageList[0].imgUrl" v-if="skuImageList"/> <div class="event"></div> <div class="big"> <img :src="skuImageList[0].imgUrl" v-if="skuImageList"/> </div> <div class="mask"></div> </div></template><script> export default { name: "Zoom", props: ["skuImageList"] }</script>
本文链接地址:https://www.jiuchutong.com/zhishi/297419.html 转载请保留说明!

上一篇:前端网页设计必逛的六个宝藏网站(非常值得收藏)(前端网页设计的三大技术)

下一篇:手拉手教您Linux搭建web(linuxulator)

  • 苹果13有数据线吗(苹果13有数据线送吗)

    苹果13有数据线吗(苹果13有数据线送吗)

  • 淘友圈可以看见访客记录吗(淘友圈能看到)

    淘友圈可以看见访客记录吗(淘友圈能看到)

  • 苹果系统可以改微信号吗(苹果系统可以改成安卓系统)

    苹果系统可以改微信号吗(苹果系统可以改成安卓系统)

  • opporeno4支持屏幕指纹吗(opporeno4屏幕是曲屏吗)

    opporeno4支持屏幕指纹吗(opporeno4屏幕是曲屏吗)

  • Word字体竖排如何设置(word文档中字体竖向排版)

    Word字体竖排如何设置(word文档中字体竖向排版)

  • 抖音上买的东西怎么取消订单(抖音买的东西出现质量问题,卖家不给处理,怎样投诉)

    抖音上买的东西怎么取消订单(抖音买的东西出现质量问题,卖家不给处理,怎样投诉)

  • 快手手机号被别人绑定了怎么办(快手手机号被别人绑定有风险吗?)

    快手手机号被别人绑定了怎么办(快手手机号被别人绑定有风险吗?)

  • 腾讯视频录屏没有声音是怎么回事(腾讯视频录屏没有图像)

    腾讯视频录屏没有声音是怎么回事(腾讯视频录屏没有图像)

  • 拍立得相纸有咔哒声吐不出来(拍立得相纸有咔咔声音)

    拍立得相纸有咔哒声吐不出来(拍立得相纸有咔咔声音)

  • 用身份证能查到手机号码吗(用身份证能查到开宾馆记录吗)

    用身份证能查到手机号码吗(用身份证能查到开宾馆记录吗)

  • qq单项管理是什么(qq的单项好友什么意思)

    qq单项管理是什么(qq的单项好友什么意思)

  • 唱吧话筒可以用在全民k歌吗(唱吧话筒用法)

    唱吧话筒可以用在全民k歌吗(唱吧话筒用法)

  • 3dmax和cad的区别(3dmax与cad关系)

    3dmax和cad的区别(3dmax与cad关系)

  • 4g流量很卡怎么办(4g流量太卡了)

    4g流量很卡怎么办(4g流量太卡了)

  • 拼多多的拼小圈是什么时候开始有的(拼多多的拼小圈怎么关闭动态)

    拼多多的拼小圈是什么时候开始有的(拼多多的拼小圈怎么关闭动态)

  • 无法连接到null什么意思(无法连接到打印机)

    无法连接到null什么意思(无法连接到打印机)

  • 实名认证的微信号被盗了怎么办(实名认证的微信可以注销吗)

    实名认证的微信号被盗了怎么办(实名认证的微信可以注销吗)

  • 苹果手机屏幕镜像什么意思(苹果手机屏幕镜像怎么关闭不了)

    苹果手机屏幕镜像什么意思(苹果手机屏幕镜像怎么关闭不了)

  • 淘宝上什么叫下单账号(淘宝上什么叫下架商品)

    淘宝上什么叫下单账号(淘宝上什么叫下架商品)

  • 骁龙处理器有没有npu(骁龙处理器有没有后门)

    骁龙处理器有没有npu(骁龙处理器有没有后门)

  • 键盘灯开关是哪个键(键盘灯光开关在哪)

    键盘灯开关是哪个键(键盘灯光开关在哪)

  • y97的后盖名称(y97后盖是玻璃的吗)

    y97的后盖名称(y97后盖是玻璃的吗)

  • ipad pro二代和三代区别(ipad pro二代和三代对比)

    ipad pro二代和三代区别(ipad pro二代和三代对比)

  • 分享项目 - Vue3 + TS + element-ui-plus 项目 -- Table表格表单(分享项目成果)

    分享项目 - Vue3 + TS + element-ui-plus 项目 -- Table表格表单(分享项目成果)

  • 退回的企业所得税怎么做账务处理
  • 期末账项调整的基础是
  • 发票超过三个月不能开
  • 没达到起征点需要申报吗
  • 个体户超过定额怎么纳税申报
  • 利润表季度怎么填写
  • 企业股东分红可以不按比例分吗
  • 季度所得税资产总额怎么计算
  • 收据怎么粘贴在费用报销单上
  • 代扣代缴完税凭证是什么
  • 国家对工资发放的规定
  • 个人从海外买东西自用要交税吗
  • 挂失申请怎么写
  • 委托加工农产品的扣除率
  • 劳务派遣能不能预支工资
  • 工伤保险费的缴纳,以下正确的是
  • 增值税一般纳税人税率
  • 外购低值易耗品可以抵扣进项税额吗
  • 免税销售额收入不含税收入怎么算
  • 电商平台小规模纳税标准
  • 专票入账暂不抵扣如何申报
  • 会计报表上总资产怎么填
  • 公司注销要给钱吗
  • 创新券兑付怎么操作
  • 发票校验码后六位在哪个位置图片
  • 灭火器属于办公设施吗
  • 资金筹集业务的会计处理
  • windows11加密
  • 支付工伤赔偿款怎么做账
  • mac如何连接2个airpods
  • 斯卡伊保安公司怎么样
  • 经营性流动负债计算公式
  • 承租人对经营租赁和融资租赁会计处理方式
  • PHP:oci_field_precision()的用法_Oracle函数
  • php实现ping功能
  • Win7系统僵尸部队4存档丢失的解决方法
  • 专用发票开具错误
  • 投资公司收到境外债务
  • 超过小规模纳税人标准能不转一般纳税人吗?
  • 账户维护费计入什么会计科目
  • vscode怎么看错误提示
  • 前端schema
  • 以小物件为话题写出背后的故事
  • php getcwd与dirname(__FILE__)区别详解
  • 工程物资发生报废损毁
  • 已提减值准备的固定资产报废,确认的所得税资产
  • dedecms主页修改
  • 发票红字冲回账务处理
  • 跨年度错账调整分录
  • 银行贷款可以置换险资吗
  • 开票人是管理员可以报销吗
  • db2报42603
  • 查账征收和核定征收有什么区别
  • 小规模纳税人水利基金税率
  • 收到房租的租金怎么做账
  • 2020年税务师报名流程
  • 工程进度款如何做账
  • 员工加班打车费报销
  • 变更法人流程和资料
  • 小规模纳税人所得税计算
  • 违约金从货款中扣除如何记账
  • 挂靠被查出来后挂靠费怎么处理?
  • 预收账款是否要交说
  • 工程担保属于什么
  • mysql查询结果是什么类型
  • mysql zip archive 版本(5.7.19)安装教程详细介绍
  • sql server 字符串操作
  • bios开机密码怎么关闭
  • xp安全模式怎么用
  • window7qq登录失败
  • ds是什么文件
  • Win7升级win10后可以删除2345吗
  • 求婚表白怎么说怎么写
  • 游戏开发吧
  • js获取checkbox选中的元素
  • android集成chromiumview
  • dos命令中删除文件命令有哪些
  • jquery.form
  • 经常用到的图像格式有
  • 租房完税证明需要房东交钱吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设