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

  • 什么企业的纳税最多
  • 营业外收入纳税调整
  • 餐饮行业的成本率在多少才正常
  • 个体工商户怎么变更法人
  • 财务合理化建议例子
  • 个人独资企业对公账户的钱可以转到私人账户吗
  • 黄金以旧换新怎么算费用
  • 企业购入投资性房地产
  • 增值税发票抵扣勾选平台如何操作
  • 没有收入要做应交税费的会计分录
  • 如何理解合并报表
  • 供电局发票金额可以多开吗
  • 增资需要登报吗
  • 个人独资企业可以不开公户吗
  • 营改增后书据转移印花税是含税的吗?
  • 企业增值税留抵退税新闻稿范文
  • 业务招待费的进项可以抵扣吗
  • 资产减值准备所得税申报中要填主表吗
  • 车辆购置税是否计入固定资产
  • 营改增后哪些费用可以抵扣
  • 合伙企业投资需要缴纳印花税吗
  • 稿酬所得个人所得税税率
  • 固定资产加速折旧方法
  • 企业开票信息可以改吗
  • 所得税免税项目
  • 企业销售食品过期处罚
  • 电脑隐藏软件图标快捷键
  • 固定资产清理和固定资产减值准备的区别
  • 请等待当前程序完成或更改怎么弄
  • 接待客人后的感受和过程
  • 银行退回手续费的账务处理
  • stk al00华为
  • Element UI 及 Element Plus框架
  • 成本核算方法主要有哪些
  • 农村土地承包经营权证丢失怎么补办
  • pytorch复制模型
  • yii框架教程
  • 水利建设基金的计税依据及税率
  • framework怎么更新
  • YOLOv8(n/s/m/l/x)&YOLOv7(yolov7-tiny/yolov7/yolov7x)&YOLOv5(n/s/m/l/x)不同模型参数/性能对比(含训练及推理速度)
  • 工程项目会计怎么样
  • 什么是前后端分离的方式
  • java前端开发是做什么的
  • 职工福利费的范围有哪些
  • 同城票据交换差额户会计分录
  • js let与var区别
  • 员工借款未还离职怎么办
  • 织梦开发教程
  • 坏账核销的会计处理
  • 网上打印出来的手机买卖协议有效吗
  • 小规模纳税人现代服务税率
  • 劳务报酬需要申报个税吗
  • 预付账款和应付账款怎么合并
  • 会计人员未参加继续教育
  • 预付房租计入长期待摊费用吗
  • 车船税是什么样子的?
  • 翻唱歌曲发行至国外的好处
  • 应交税费主要有什么税
  • 建筑安装合同印花税率怎么算
  • 分支机构与总机构怎么纳税?
  • 现金流量表的编制基础是权责发生制
  • 接受其他企业现金捐赠会计分录
  • 资产减值损失的账务处理
  • 会计 预提
  • debian系统
  • centos强制关闭程序
  • xp系统桌面图标大小怎么调整
  • crontab环境变量不生效
  • scrollview怎么用
  • dos批处理实例800例
  • js中的原型和原型链
  • dos下重命名
  • eclipse怎么查看项目的位置
  • 安卓手机启用暴露通知
  • javascript !
  • jQuery中通过ajax调用webservice传递数组参数的问题实例详解
  • 开票系统忘记密码怎么找回
  • 青岛市国家税务局官方网站
  • 四川国税局局长是谁
  • 12366属于哪个部门
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设