位置: 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)

  • wps删除整页怎么删(wps删除整页怎么删掉)

    wps删除整页怎么删(wps删除整页怎么删掉)

  • 农业银行微信提醒怎么开通(农业银行微信提现免费)

    农业银行微信提醒怎么开通(农业银行微信提现免费)

  • i5和i7有什么区别(i5和i7有什么区别知乎)

    i5和i7有什么区别(i5和i7有什么区别知乎)

  • 苹果13.3系统设备管理在哪(ios13设置)

    苹果13.3系统设备管理在哪(ios13设置)

  • 计算机系统的基本组成(计算机系统的基本工作过程)

    计算机系统的基本组成(计算机系统的基本工作过程)

  • 大疆御air手柄如何充电(大疆御pro手柄说明书)

    大疆御air手柄如何充电(大疆御pro手柄说明书)

  • x50多少倍变焦(x50几倍变焦)

    x50多少倍变焦(x50几倍变焦)

  • 14寸屏幕长宽多少厘米(14寸屏幕多大)

    14寸屏幕长宽多少厘米(14寸屏幕多大)

  • iPhone11插耳机还是外放(iphone11插耳机的时候感觉有问题)

    iPhone11插耳机还是外放(iphone11插耳机的时候感觉有问题)

  • 咪咕音乐有电脑版的吗(咪咕音乐电脑版为什么不能用)

    咪咕音乐有电脑版的吗(咪咕音乐电脑版为什么不能用)

  • 笔记本电脑老是卡死没反应是怎么回事(笔记本电脑老是蓝屏重启是什么原因)

    笔记本电脑老是卡死没反应是怎么回事(笔记本电脑老是蓝屏重启是什么原因)

  • iphone11无法无线充电(为什么苹果11无法无线充电)

    iphone11无法无线充电(为什么苹果11无法无线充电)

  • 华为手机pro和普通的区别(华为手机pro和普通的区别在哪里)

    华为手机pro和普通的区别(华为手机pro和普通的区别在哪里)

  • qq冻结7天后能正常使用吗(qq冻结7天后能正常聊天吗)

    qq冻结7天后能正常使用吗(qq冻结7天后能正常聊天吗)

  • airpodspro耳塞怎么拔(AirPodspro耳塞怎么取)

    airpodspro耳塞怎么拔(AirPodspro耳塞怎么取)

  • oppoa5处理器骁龙多少(oppoa55处理器骁龙多少)

    oppoa5处理器骁龙多少(oppoa55处理器骁龙多少)

  • xsmax有没有指纹解锁(xsmax有指纹解锁功能吗)

    xsmax有没有指纹解锁(xsmax有指纹解锁功能吗)

  • 车载u盘怎么连接手机(车载u盘怎么连接汽车)

    车载u盘怎么连接手机(车载u盘怎么连接汽车)

  • 华为推屏手机叫什么(华为推屏功能)

    华为推屏手机叫什么(华为推屏功能)

  • 抖音怎么切换几个画面(抖音怎么切换几个号登录)

    抖音怎么切换几个画面(抖音怎么切换几个号登录)

  • 91Send邮件平台怎么发邮件(91邮箱地址怎么注册)

    91Send邮件平台怎么发邮件(91邮箱地址怎么注册)

  • 小爱同学能控制格力空调吗(小爱同学能控制其他品牌家电吗)

    小爱同学能控制格力空调吗(小爱同学能控制其他品牌家电吗)

  • 手机怎么设置无线路由器(手机怎么设置无痕上网)

    手机怎么设置无线路由器(手机怎么设置无痕上网)

  • 苹果屏保时间怎么设置 (苹果屏保时间怎么变成黑色)

    苹果屏保时间怎么设置 (苹果屏保时间怎么变成黑色)

  • 京东白条如何注销(京东白条如何注销实名认证)

    京东白条如何注销(京东白条如何注销实名认证)

  • 爱荷华州中部的高架栈桥 (© Kelly van Dellen/Getty Images Plus)(爱荷华州的首府)

    爱荷华州中部的高架栈桥 (© Kelly van Dellen/Getty Images Plus)(爱荷华州的首府)

  • 「ChatGPT」十分钟学会如何在本地调用API_KEY(最新版 | 附源码)(十分=1)

    「ChatGPT」十分钟学会如何在本地调用API_KEY(最新版 | 附源码)(十分=1)

  • Discuz如何解决安装时报错run_sql_error(discuz论坛安装步骤)

    Discuz如何解决安装时报错run_sql_error(discuz论坛安装步骤)

  • 那些车不用交税
  • 汇算清缴补交所得税怎么做凭证
  • 集团内部资产无偿划转是否纳税增值税
  • 增值税减免所得税填在哪一栏
  • 一般纳税人企业是什么意思
  • 没经营的个体户营业执照怎么注销
  • 去新成立的公司
  • 企业清算过程中应收应付的处置
  • 一般纳税人普通发票免税吗
  • 退所得税的分录
  • 计提递延所得税资产
  • 工程预付款包括工人工资吗
  • 公司给客户退款会计分录
  • 当期免抵税额和当期免抵退税额
  • 印花税法律制度规定不征收印花税的是什么
  • 稳岗补贴发放给职工需要交个税吗?
  • 印花税资金账簿税率是多少
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 会计利润和税务利润不一致
  • 加盟费怎么算的
  • 无票收入已报税,后来开票账务处理
  • 购买汽车车辆购置税个人垫付,企业付给个人的附件归属
  • 验车费计入什么科目
  • 应收票据背书转让以取得所需物资
  • 什么叫管理口径报表
  • 多付几分钱怎么做账
  • 亿企代账怎么删除科目
  • 苹果手机升级微信版本
  • win7为什么没有本地连接
  • tensorflow安装教程pycharm
  • Yii2 队列 shmilyzxt/yii2-queue 简单概述
  • 残保金计入税金还是管理费用
  • html表单合并行
  • 浏览器windows下载
  • thinkphp怎么用
  • 财务报销单据不能用圆珠笔写吗
  • 钉钉的组织在线怎么设置
  • vue跨域的几种方式
  • 金税盘显示242104
  • 开源原则
  • ChatGPT 逆天测试,结局出乎预料
  • 报销人和收款人不一致
  • 试生产产品计入研发费用吗
  • 自产自销的农产品可以抵税吗
  • Vue 拖拽排序
  • 为什么社保明细导不出来
  • 换了公司个人所得税重新计算吗
  • 合伙制律师事务所和个人律师事务所
  • 土地使用权的界定
  • 高校报销开普票还是专票
  • 业务招待费的企业所得税扣除标准
  • 暂估入库没有票怎么冲掉
  • 清算期间研发费怎么算
  • 企业债务重组业务
  • 先抵扣后付款怎么做账
  • 去年的成本做少了咋办
  • 信息服务的最终目的是什么
  • 库存商品的成本
  • 以前年度收入少记了怎么做分录
  • 专用发票怎么入账
  • 工程尾款要计入什么科目
  • 固定资产如何分类?
  • jmeter怎么连接数据库
  • centos安装NVIDIA驱动
  • centos直接安装
  • win10怎么获取
  • windows7的使用期限
  • win8怎么设置自动开机
  • 电脑xp桌面
  • windows10周年更新
  • cocos2d怎么用
  • python周期性分析
  • 如何在电子税务局添加办税人员
  • 机动车发票怎样开
  • 卷票发票丢失怎么办理
  • 银行是不是要交社保
  • 日本海淘推荐
  • 卡车生产企业
  • 土地交的契税会计科目
  • 本科毕业去上海找什么工作好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设