Error in render: TypeError: Cannot read properties of undefined (reading‘‘)

news/2024/12/22 18:59:57/

  • 报错内容

  • 报错解释:这个错误在渲染过程中尝试读取一个未定义(undefined)对象的某个属性时发生了TypeError。具体来说,是尝试读取一个值为undefined的对象的某个属性,但该属性不存在,因此无法读取。
  • 解决过程:小编首次拿到该项目时,由于报错在整个页面中,又不是特别明显知道是某个字段的报错,于是通过注释代码的方法定位到具体是在哪个点报的错。可以看小编如下文章:

前端开发中,定位bug的几种常用方法_前端代码调试、问题定位-CSDN博客

  • 定位到报错的点之后小编发现即使有报错,但是页面还是正常跑,这就相对比较麻烦了,因为我们只看到了报错,但是不知道具体是哪里的问题!!
  • 小编也在html输出了渲染了一下,发现其实没有问题,如下

  • 经过小编的思考,最终在想到了使用一个方法methods处理这个字段,如下 ——
{{ computedStatus(userForm.agencyBaseVO.status) }}

javascript">computedStatus(val) {console.log('val', val)return val === '' ? '' : this.optionsBasic.statusMap[val]
}
  • 通过这种方法输出之后发现原来这个页面在我们不容易看出的地方进行了多次渲染(小编这里也没看出来原来的前端是怎么写的…),由于前几次渲染是值为 ' ' 导致拿不到数据,造成无法读取未定义的属性

  • 解决方法二filters过滤器——(注意:vue2使用,vue3已经废弃了)
  1. 使用场景:用于一些常见的文本格式化
  2. 默认第一个参数为 | (管道运算符),左边的值,可以支持传参,传的参数值从第二个参数开始
  3. 可以通过 | 串联过滤器,如下:( filterA被定义为接收单个参数的过滤器函数,表达式  message 的值将作为参数传入到函数中。然后继续调用同样被定义为接收单个参数的过滤器函数 filterB,将 filterA 的结果传递到 filterB 中。)
{{ message | filterA | filterB }}

 通过小编上面的知识点描述,对如下小编的解决方法应该也就不陌生了,解决如下:


http://www.ppmy.cn/news/1424258.html

相关文章

如何查看已使用的IP

如何查看已使用的IP 一、用cmd登录(winr) 二、用命令查看IP 在cmd命令窗口输入“ipconfig”命令,按下键盘上的回车键 这时会在cmd命令窗口看见自己电脑的IP地址,在命令窗里找到你的“以太网适配器 以太网”或者“无线局域网适配器…

CentOS7.9环境下安装mysql-8.0.32详解

1. 设置主机名 # 设置主机名: [root192 ~]# hostnamectl set-hostname db && bash2. 卸载残留 # 卸载软件残留 [rootdb scripts]# yum remove mariadb* -y3. 安装包准备 1.上传软件包 # 下载地址:https://downloads.mysql.com/archives/get/p…

【玩转PGSQL】基础管理防火墙及用户权限管理-知否知否

基础管理 登录方式 psql -d postgres -h 127.0.0.1 -p 5432 -U postgre-d 库 -h IP -p 端口 -U 用户基础sql -- 查看所有库 \l-- 创建库 create database test;-- 进入库 \c test-- 查看所有表 \d-- 查看表结构 \d t1;-- 查看所有用户 \du-- 列显示 \x-- 显示当前库下schem…

C语言 | 动态内存管理

目录: 1. 为什么要有动态内存分配 2. malloc和free 3. calloc和realloc 4. 常见的动态内存的错误 5. 动态内存经典笔试题分析 6. 柔性数组 1. 为什么要有动态内存分配 我们已经掌握的内存开辟方式有: int val 20; //在栈空间上开辟四个字节 cha…

❤ vue3 使用报错

❤ vue3 项目使用报错 vue3语法变动 TypeError: Assignment to constant variable (常量变量) 背景: Vue3 项目使用 TypeError: Assignment to constant variable. 原因: 因为我对const定义的常量重新赋值了 解决方法&#…

VMware扩容centos

VMware扩容centos 本文基于vmware给虚拟机centos扩容磁盘,虚拟机扩容需要关机。 vmware扩容 点击编辑虚拟机设置,选择磁盘,点击进行扩展。 在centos中扩展 (1)使用lsblk查看发现在虚拟机中扩展的空间在sda中&#xff…

C++:类的访问限定符和类的封装

一、类的访问限定符 C的访问限定符分为3个。 public(公有):修饰的成员可以直接访问 protected(保护):修饰的成员在类外不能直接访问 private(私有):修饰的成员在类外不能直接访问 注: 1.访问限定符的作…

upload-labs第十一十二关

第十一关 $is_upload false; $msg null; if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],".")1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES[upload_fil…