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

  • 累进税率的税种有哪些
  • 哪些福利费可以进在建工程
  • 什么情况可以安排待岗
  • 建筑工程管理费包括哪些内容
  • 服装行业营业收入存在的问题与对策
  • 出口退税是退进项
  • 企业收到供货单位提供的材料,如其价款大于
  • 小规模纳税人开专票和普票的区别
  • 办理出口退税需要的资料
  • 劳务公司开的3%专用发票能抵扣吗
  • 业务订单需求表
  • 基本账户代发代扣怎么操作
  • 所得税补缴自查需要缴纳什么
  • 计入成本的费用包括
  • 代收污水处理费要交税吗
  • 存货缺货成本如何算
  • 利润表中利润归还投资
  • 增值税小规模纳税人
  • 商品残次品怎样定义
  • 购入土地建厂房要交的税
  • bios中英文对照表图新版
  • 0x000000a5蓝屏代码是什么意思
  • linux修改分区uuid
  • 经营租赁方式租入分录
  • bootice.exe
  • linux怎么设置读写权限
  • 在建工程完工后结转会计分录
  • 债务重组账务处理会计分录
  • 销售货物是什么意思
  • php常用设计模式(大总结)
  • 年应税销售额包含哪些
  • 机器设备拆除增值税税率
  • 公寓增值税税率是多少
  • php数据统计分析
  • 酒店客房成本构成
  • 公司给员工餐补计入
  • 占统治地位的英文短语
  • echarts series name
  • 动态内存管理
  • chat top
  • 汽车折旧年限及年限
  • 其他货币资金微利
  • 预收账款是否要缴纳增值税
  • 固定资产加速折旧是什么意思
  • dedecms51
  • 进项税额转出的进项税额如何处理
  • 个人所得税又是什么税种
  • 所有小规模都能开专票吗
  • 企业营业税怎么征收
  • 残保金怎么计提和缴纳
  • 金税四期 什么意思
  • 利润分配的账务处理视频
  • sql扩展
  • 工程服务预交税怎么算
  • 融资租赁收到的租金计入什么科目
  • 疫情期间购买消毒弥雾机的请示
  • 原材料运费如何入账
  • 发票金额太大怎么办
  • 销售酒怎么结转销售成本
  • 自产产品赠送会计处理
  • 净资产增长率增长说明什么
  • mysqlsum查询慢
  • win2003系统安装
  • 让Windows Server 2008设备驱动安装图文教程
  • 在unix系统中采用的页面置换
  • 老毛桃U盘装系统综合教程
  • 操作系统运行慢怎么解决
  • win7共享文件权限设置
  • win7系统不能用了?
  • windows7如何取消锁屏密码
  • linux给文件赋全部权限
  • python的步骤
  • node断点调试
  • c语言深入剖析
  • 轻松实现财富自由
  • JavaScript中的复杂数据类型又称为
  • div跟随滚动条移动
  • 开展税务培训
  • 货物运输代理服务税率
  • 纳税人的种类包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设