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

  • vivox50有红外线功能吗(vivox50有红外线发射功能吗)

    vivox50有红外线功能吗(vivox50有红外线发射功能吗)

  • 宽带ip地址是固定的吗(宽带ip是固定的吗)

    宽带ip地址是固定的吗(宽带ip是固定的吗)

  • ios备忘录橡皮怎么调节(苹果备忘录橡皮)

    ios备忘录橡皮怎么调节(苹果备忘录橡皮)

  • ipad可以充电一晚上吗(ipad充电可以随时充吗)

    ipad可以充电一晚上吗(ipad充电可以随时充吗)

  • 抖音删了重发有影响吗(抖音删了重发有流量吗)

    抖音删了重发有影响吗(抖音删了重发有流量吗)

  • mar-tl00是什么型号(maral00是什么手机型号)

    mar-tl00是什么型号(maral00是什么手机型号)

  • 同一类的文件图标相同吗(同一类的文件图标不同)

    同一类的文件图标相同吗(同一类的文件图标不同)

  • 有没有什么相机可以把照片变成漫画(有没有什么相机软件带广角功能的)

    有没有什么相机可以把照片变成漫画(有没有什么相机软件带广角功能的)

  • id和密码都对为何无法激活(苹果id和密码对着为啥提示不对)

    id和密码都对为何无法激活(苹果id和密码对着为啥提示不对)

  • p40pro是什么屏幕(p40pro是什么屏幕瀑布吗)

    p40pro是什么屏幕(p40pro是什么屏幕瀑布吗)

  • 淘宝极速验号对号有影响吗(淘宝极速验号对手机影响)

    淘宝极速验号对号有影响吗(淘宝极速验号对手机影响)

  • 荣耀9x卡顿怎么解决(荣耀9x很卡怎么回事)

    荣耀9x卡顿怎么解决(荣耀9x很卡怎么回事)

  • vaio还是索尼的吗(vaio和索尼还有关系吗)

    vaio还是索尼的吗(vaio和索尼还有关系吗)

  • 南阳东站在哪(南阳东站在哪接人)

    南阳东站在哪(南阳东站在哪接人)

  • reach是什么意思(欧盟reach是什么意思)

    reach是什么意思(欧盟reach是什么意思)

  • 拼多多免拼成功啥意思(拼多多免拼成功后怎么取消订单)

    拼多多免拼成功啥意思(拼多多免拼成功后怎么取消订单)

  • 结构化设计的基本原则(结构化设计的基本步骤)

    结构化设计的基本原则(结构化设计的基本步骤)

  • 小米手环检测睡眠原理(小米手环检测睡眠要一直开着蓝牙吗)

    小米手环检测睡眠原理(小米手环检测睡眠要一直开着蓝牙吗)

  • 拨号键删除了怎么恢复(拨号键删除了怎么弄回来)

    拨号键删除了怎么恢复(拨号键删除了怎么弄回来)

  • 网易云怎么更换手机号(网易云怎么更换唱片的样式)

    网易云怎么更换手机号(网易云怎么更换唱片的样式)

  • 1加7和1加7pro区别(一加七和一加七pro参数对比)

    1加7和1加7pro区别(一加七和一加七pro参数对比)

  • 一加和oppo有关系吗(一加和oppo是啥关系)

    一加和oppo有关系吗(一加和oppo是啥关系)

  • Vue项目实战——实现一个任务清单【基于 Vue3.x 全家桶(简易版)】(最全vue项目实战)

    Vue项目实战——实现一个任务清单【基于 Vue3.x 全家桶(简易版)】(最全vue项目实战)

  • bzdiff命令  比较两个.bz2压缩包中文件的不同(diff比较文件不同输出)

    bzdiff命令 比较两个.bz2压缩包中文件的不同(diff比较文件不同输出)

  • 员工借款业务流程
  • 工程奖励金算收入吗
  • 收到促销费方怎么做账
  • 粗纤维测定仪使用方法
  • 邮政开票税点是什么意思
  • 增值税普通发票和普通发票的区别怎么交税
  • 企业停产或停业期间的费用包括
  • 海关缴款书如何做账
  • 附加税费计提表
  • 建筑包工包料是包哪些
  • 发票过期未认证可以用吗
  • 公司理财取得的成果
  • 费用销售收入占比怎么算
  • win11如何关闭开机自启动项
  • 预付维修费计入入账价值吗
  • 合同的情势变更是什么?
  • 2021工资扣税标准公式
  • PHP:xml_set_external_entity_ref_handler()的用法_XML解析器函数
  • php的工作流程
  • CodeIgniter与PHP5.6的兼容问题
  • 想做酒水批发的生意怎么做?
  • 预加载的目的是什么
  • 土地使用税缴纳人是使用者还是所有权人
  • 税控抵税
  • chat form
  • 大前端技术
  • 【深度学习】详解 MAE
  • python优化工具箱
  • xi:xtreg命令
  • 修改Laravel5.3中的路由文件与路径
  • 应收账款科目有哪些类别
  • 金融机构存放的保证金存款
  • 客户购买商品的条件?
  • 其他应收款检查表怎么填
  • 增值税发票认证在哪里
  • python skewness
  • 预缴税款是什么意思
  • 普通发票销货清单
  • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
  • 取得虚开普票如何处置
  • 刚购入的固定资产已使用年限怎么填
  • 递延所得税资产和负债账务处理
  • 工会经费保留整数吗
  • 物业公司收取电费服务费
  • 河道管理费和水利基金
  • 调整期初库存商品分录
  • 关于其他应付款的问题
  • 开办费列支范围
  • 以前年度应交税费多计提怎么调平
  • 股权投资如何记账
  • 将外购商品用于赠送客户
  • 企业其他应付款增加的原因
  • 产品质量认证费用属于什么成本
  • 餐饮有普通发票吗
  • 固定资产清理账户借方的核算内容包括
  • 库存现金过多的隐患
  • 超市购物卡怎么办理
  • vmware虚拟机无法打开内核设备怎么办
  • acs_log是什么文件
  • xp系统英文版怎么改成中文
  • intel x86 arm
  • office2016formac更新了什么 新版macoffice软件功能一览
  • SUSE Linux Enterprise Server 设置IP地址、网关、DNS的方法
  • msedge.exe是什么
  • linux中sed命令
  • win7哪些系统文件可以删除
  • windows 10 mobile--移动版
  • android基于什么语言
  • javascript的对象主要包括
  • Android百度地图定位 sdk 地理围栏监听
  • python编写下载器
  • javascript高级程序设计电子书
  • js选择框全选
  • 贵阳国家高新技术产业开发区管理委员会
  • 锂电池税收优惠政策
  • 锂电池缴纳消费增值税吗
  • 中牟地税局电话
  • 审计的起源和发展史
  • 发票多久作废不了
  • 债权收购协议书
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设