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

  •  拍抖音怎么加照片(拍抖音怎么加特效)

    拍抖音怎么加照片(拍抖音怎么加特效)

  • vivox70pro怎么显示流量(vivo手机怎么显示)

    vivox70pro怎么显示流量(vivo手机怎么显示)

  • 微博视频怎么下载(微博视频怎么下载到电脑)

    微博视频怎么下载(微博视频怎么下载到电脑)

  • 饿了么定位地址不符合(饿了么定位地址不对怎么更改)

    饿了么定位地址不符合(饿了么定位地址不对怎么更改)

  • WPS怎么用函数计算平均值(wps怎么用函数计算平均值)

    WPS怎么用函数计算平均值(wps怎么用函数计算平均值)

  • 1660ti和1650ti差距大吗(1660ti 和1650)

    1660ti和1650ti差距大吗(1660ti 和1650)

  • 三星s8安全模式怎么手动关闭(三星s8安全模式解除不了怎么办)

    三星s8安全模式怎么手动关闭(三星s8安全模式解除不了怎么办)

  • 微信实名认证更改后零钱还在吗(微信实名认证更换后,警方可以查到原来的实名认证吗?)

    微信实名认证更改后零钱还在吗(微信实名认证更换后,警方可以查到原来的实名认证吗?)

  • 边缘路由器是干啥用的(边缘路由器和普通路由器)

    边缘路由器是干啥用的(边缘路由器和普通路由器)

  • 钉钉回放老师能看见吗(钉钉回放老师能否查看观看时长)

    钉钉回放老师能看见吗(钉钉回放老师能否查看观看时长)

  • 手机potato软件是干嘛的(potato软件干什么用的)

    手机potato软件是干嘛的(potato软件干什么用的)

  • 恢复出厂设置软件还在吗(恢复出厂设置软件里的东西还在吗)

    恢复出厂设置软件还在吗(恢复出厂设置软件里的东西还在吗)

  • 小米6x支持OTG吗

    小米6x支持OTG吗

  • 工作服统计表格怎么做(工作服统计表格excel)

    工作服统计表格怎么做(工作服统计表格excel)

  • iphonexsmax屏幕失灵(iphonexsmax手机屏幕失灵怎么办)

    iphonexsmax屏幕失灵(iphonexsmax手机屏幕失灵怎么办)

  • 金山快盘为什么停止服务(金山快盘为什么不能用了)

    金山快盘为什么停止服务(金山快盘为什么不能用了)

  • 配件不支持iphone解决方案(配件不支持是怎么回事)

    配件不支持iphone解决方案(配件不支持是怎么回事)

  • 华为荣耀怎么分屏操作(华为荣耀怎么分屏操作技巧)

    华为荣耀怎么分屏操作(华为荣耀怎么分屏操作技巧)

  • 拼多多口令怎么打开(拼多多口令怎么生成)

    拼多多口令怎么打开(拼多多口令怎么生成)

  • 京东门店预约怎么取消(京东门店预约怎么操作)

    京东门店预约怎么取消(京东门店预约怎么操作)

  • 小米cc9支持多少w快充(小米cc9支持多少g内存卡)

    小米cc9支持多少w快充(小米cc9支持多少g内存卡)

  • 货拉拉退款到账时间(货拉拉显示退款成功,但却没有收到退款)

    货拉拉退款到账时间(货拉拉显示退款成功,但却没有收到退款)

  • 下载的私密文件在哪里(下载的私密文件怎么打开)

    下载的私密文件在哪里(下载的私密文件怎么打开)

  • x27有几个版本(x27几个版本区别)

    x27有几个版本(x27几个版本区别)

  • 小规模纳税人零申报逾期未申报
  • 哪些增值税专用发票可以抵扣进项税
  • 清算期间作为纳税年度
  • 请客户旅游算不算贿赂
  • 房地产企业拆迁补偿契税政策
  • 赔付伤残费用还有误工费用么
  • 服务类收入
  • 印花税实收资本纳税义务发生时间
  • 机动车销售统一票据可以抵扣吗
  • 异地预缴增值税后本地还要交吗
  • 超市购物卡开票可以做账吗
  • 为什么非征期不允许汇总上传
  • 不增税、免税、零税率的差异
  • 违约金收入如何缴税
  • 从财务报表中可以了解企业的哪些信息?作用是什么?
  • 季度利润太高怎么计算
  • 行政事业单位如何加强财务管理
  • 公司注销后股东主张债权的法律规定
  • 小微企业所得税税率2.5% 10% 25%
  • 发生的费用发票会计分录
  • 收到汇算清缴退税的现金流量
  • 插值法求利率计算公式
  • windows打开文件
  • 登陆对话框不能输入
  • Windows10如何解压rar
  • 电子商务如何做账
  • 其他权益工具投资交易费用计入哪里
  • 业务招待费扣除基数的收入包括哪些
  • Win11安卓子系统怎么安装apk
  • 境外服务包括哪些内容
  • 下载文件是php
  • 空调安装还要收费
  • 在建工程完工后不转固定资产
  • 若依名字的含义是什么意思
  • 个人所得税必须交吗
  • 苏黎世湖天鹅
  • php 用户注册
  • 建筑劳务公司何去何从
  • php 文件上传类型限制
  • 商场售后返租
  • 小规模纳税人减按1%账务处理
  • 应付职工薪酬如何确认
  • 普通增值发票作废税务局能查到吗
  • 保险公司工伤怎么赔付
  • 营业额包括成本价吗
  • sqlserver2012安装好了桌面没有图标
  • Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
  • sqlserver 删除数据
  • 会计记账凭证的填制要求
  • 母公司设立子公司协议
  • 购买理财收入计入什么科目
  • 旅游业开具的是什么证明
  • 汽车折旧计算方法2023折旧率
  • Windows Server 2016第三技术预览版新特性详解:容器是亮点
  • win10设置不了
  • win7 系统设置
  • linux 图形
  • iPhone怎么录制屏幕
  • STMGR.EXE - STMGR是什么进程
  • mac上safari
  • ms office是
  • Win10预览版更新弹窗如何关闭
  • win10重置系统快捷键
  • perl正则表达
  • fetch怎么用
  • python安装pip.whl
  • vue router routes
  • javascript面向对象编程 PDF
  • 电脑完美平台
  • unity获取手机型号
  • node.js的理解
  • Linux bash Shell中的变量类型详解
  • javascript的简介
  • c# hashtable 用法
  • Android boot.img制作
  • 融资租赁公司购进车辆账务处理
  • 四川农村信用社电话
  • 怎样查询自己企业的税管员
  • 国家税务总局第17号令
  • 车辆大本怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设