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

  • 如何清除手机内存(如何清除手机内缓存)

    如何清除手机内存(如何清除手机内缓存)

  • 手机发热怎么办(华为手机发热怎么办)

    手机发热怎么办(华为手机发热怎么办)

  • 荣耀play3可以隐藏应用吗(如何隐藏应用华为荣耀play3)

    荣耀play3可以隐藏应用吗(如何隐藏应用华为荣耀play3)

  • 华为p40外壳是什么材质的(华为p40后壳是塑料的吗)

    华为p40外壳是什么材质的(华为p40后壳是塑料的吗)

  • vivox23幻彩版防水吗(vivox23幻彩版防触摸设置在哪里)

    vivox23幻彩版防水吗(vivox23幻彩版防触摸设置在哪里)

  • 手机主题不支持更换锁屏壁纸怎么办(手机主题不支持怎么办)

    手机主题不支持更换锁屏壁纸怎么办(手机主题不支持怎么办)

  • word中将文字转成表格怎么弄(word中将文字转化为ppt)

    word中将文字转成表格怎么弄(word中将文字转化为ppt)

  • 充电器红灯绿灯一起亮怎么修(充电器红灯绿灯显示含义)

    充电器红灯绿灯一起亮怎么修(充电器红灯绿灯显示含义)

  • 微信右下角加号键失灵(微信右下角加号键失灵怎么发红包)

    微信右下角加号键失灵(微信右下角加号键失灵怎么发红包)

  • 手机没用电量就少了是什么原因(手机没用电量就少了还发烫)

    手机没用电量就少了是什么原因(手机没用电量就少了还发烫)

  • 手机屏幕按了没有反应应该怎么办(手机屏幕按了没有反应怎么办?)

    手机屏幕按了没有反应应该怎么办(手机屏幕按了没有反应怎么办?)

  • 手机爱奇艺满屏没字幕(手机爱奇艺满屏怎么办)

    手机爱奇艺满屏没字幕(手机爱奇艺满屏怎么办)

  • 微信钱包地区切换有什么用(微信钱包地区怎么切换)

    微信钱包地区切换有什么用(微信钱包地区怎么切换)

  • 苹果售后为什么不能换外屏(苹果售后为什么叫天音)

    苹果售后为什么不能换外屏(苹果售后为什么叫天音)

  • b站改了名字视频水印会变吗(b站改名字之前发的视频)

    b站改了名字视频水印会变吗(b站改名字之前发的视频)

  • 云台和稳定器的区别(云台和稳定器的哪个好)

    云台和稳定器的区别(云台和稳定器的哪个好)

  • 手机电量耗太快怎么办(手机电量耗太快怎么解决)

    手机电量耗太快怎么办(手机电量耗太快怎么解决)

  • set协议的缺点(set协议的目的)

    set协议的缺点(set协议的目的)

  • vue怎么视频加速(vue视频慢放怎么处理)

    vue怎么视频加速(vue视频慢放怎么处理)

  • 咪咕机顶盒使用方法(咪咕机顶盒使用方法视频)

    咪咕机顶盒使用方法(咪咕机顶盒使用方法视频)

  • 苹果x有锁是什么意思(苹果x有锁机多少钱)

    苹果x有锁是什么意思(苹果x有锁机多少钱)

  • iphone xr支持快充吗(iphone xr支持快充协议)

    iphone xr支持快充吗(iphone xr支持快充协议)

  • 苹果手表不连手机能用吗(苹果手表不连手机可以看时间吗)

    苹果手表不连手机能用吗(苹果手表不连手机可以看时间吗)

  • 电脑设置定时开关机(电脑设置定时开关机软件)

    电脑设置定时开关机(电脑设置定时开关机软件)

  • 微信里面我的积分在哪里查看(微信里面我的积分在哪里怎么兑换)

    微信里面我的积分在哪里查看(微信里面我的积分在哪里怎么兑换)

  • macbook air怎么开机(macbookair怎么开关机)

    macbook air怎么开机(macbookair怎么开关机)

  • 怎么在手机上查水费使用记录(怎么在手机上查看wifi密码)

    怎么在手机上查水费使用记录(怎么在手机上查看wifi密码)

  • 微信怎么删除系统指纹(微信怎么删除系统指纹支付)

    微信怎么删除系统指纹(微信怎么删除系统指纹支付)

  • 视频怎么编辑文字(视频怎么编辑文字读出来)

    视频怎么编辑文字(视频怎么编辑文字读出来)

  • minilog.exe是什么进程 minilog进程查询(mini program是什么)

    minilog.exe是什么进程 minilog进程查询(mini program是什么)

  • 什么是税收超额征收
  • 一般计税方法是全额计税吗
  • 对账结算流程
  • 抚恤金入账
  • 已认证的专票发票在哪里
  • 个税超过部分征税还是全部
  • 管理费用中税金分录怎么写
  • 投入实收资本需要缴纳什么税
  • 地下车位未使用 要交物业服务费
  • 私营企业实行固定税率
  • 承包费收入如何交增值税
  • 母子公司往来款属于借款吗
  • 先预付一部分货款分录
  • 代理结算费用应该如何处理
  • 地产佣金收入属什么收入
  • 专用发票作废后怎么处理
  • 签订几年合同每年都要缴纳印花税吗?
  • 营改增后的增值税税目税率表
  • 个人取得下列各项所得须自行申报纳税的有
  • 来料加工企业如何计算产值
  • 红字发票是否需要盖发票章
  • 小程序交易需要什么条件
  • 未抵扣完的进项税额可以跨年抵扣吗
  • 应付职工薪酬借方负数是什么意思
  • 汇回投资方的现值怎么算
  • win7不能进系统怎么办
  • 成本加成法的缺点
  • 微信转账截图可以p图吗
  • 保护地址是什么意思
  • 编译安装php7
  • jquery怎么升级
  • 笔记本通用音频驱动程序怎么修复
  • 固定资产前期费用计入
  • 分期付款购买固定资产折现率怎么算
  • linux内存缓存
  • 微信小程序完美修真攻略
  • 进出口企业税务怎可以查出问题
  • php中require和include是用来做什么的
  • 处置长期股权投资产生的收益计入什么科目
  • 增值税纳税申报表在哪里查询
  • php执行系统命令函数
  • 应该如何打造自己
  • 出口退税过期免税申报流程
  • 公司股权转移怎么办理
  • 小规模纳税人的增值税账务处理
  • sqlserver存储过程声明变量
  • 工程施工科目借方尾差怎么调整
  • 纳税人遗失税务登记证件并按照规定
  • 股票期权的所得税处理
  • 珠宝行业的会计处理方式
  • 税控系统技术维护费会计处理
  • 存货核算科目设置
  • 附加税期末余额在借方
  • 房地产企业预付账款会计分录
  • centos7怎么配置yum源
  • unix系统采用什么结构
  • Windows Server 2008疑难杂症
  • win7系统如何隐藏任务栏
  • linux readelf命令
  • xp3软件
  • linux读取命令
  • windows 相机打不开
  • 如何去掉windows不是正版
  • 如何解决win10系统开机一直转圈圈的问题
  • android 欢迎页
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • jquery密码验证
  • material design app
  • xcopy /i
  • andriod+nfc
  • socket怎么用
  • angular keyup
  • unity方法调用
  • css实现3d效果
  • 税控开票软件里的汇总怎么弄
  • 曲靖市税务局领导班子
  • 江苏电子税务局客服电话
  • 贵州省地方税务局房地产税收征收管理办法
  • 贵州地方税务局网上办税服务厅
  • 交完了契税后可以办房产证吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设