当前位置: 首页 > news >正文

开发避坑指南(22):Vue3响应式编程中this绑定机制与解决方案

错误信息

TypeError: Cannot read properties of undefined (reading 'find')
TypeError: r.vnode.el.querySelector is not a function

报错背景

vue2项目升级到vue3后,原来的代码报错。

报错代码

  computed: {/** 计算列的显示与隐藏*/columnVisible() {return function (prop) {this.columnslet col = this.columns.find(p => p.prop === prop)return !!col ? col.visible : true}},},

错误分析

从错误信息看,报错的代码在:let col = this.columns.find(p => p.prop === prop)这一行。在 Vue 2 升级到 Vue 3 的过程中,箭头函数和普通函数的上下文绑定差异是常见问题。在vue3环境中,箭头函数自动绑定当前上下文(this),而普通函数会丢失 Vue 实例的 this 引用,导致无法通过this来引用相关函数就会报上述错误。

解决办法

将普通函数修改箭头函数,使用箭头函数保持 this 绑定,代码修为如下:

  computed: {/** 计算列的显示与隐藏*/columnVisible() {return (prop)=> {let col = this.columns.find(p => p.prop === prop)return !!col ? col.visible : true}},},
http://www.dtcms.com/a/321622.html

相关文章:

  • C++ 部署LSTM(.onnx)
  • 大模型中的核心参数temperature 您知道是什么东东吗?
  • KEIL 环境下 printf 导致程序无法执行的解决方案
  • GPT5评测对比与使用
  • 2025年城市建设与智慧交通国际会议(ICUCIT 2025)
  • OpenAI重磅开源回归!GPT-OSS-120B/20B登陆星辰MaaS
  • 【长度最小的子数组】
  • C++ 红黑树实现详解:理论+代码+图解
  • 主流多模态大模型使用总结
  • GPT-5测评:AI新纪元的开启还是炒作?
  • 【SpringBoot】01 基础入门-SpringBoot2:从核心技术到响应式编程
  • Jenkins自动化构建部署Java、Web前后端项目
  • 使用Python将中文语音翻译成英语音频
  • 达梦DISQL执行SQL和SQL脚本
  • 医疗数据中台架构实战:Java实现高可用、低耦合的数据治理方案
  • 30人大型视频会议设备清单
  • 零基础小白如何使用QGIS制作研究区地形区位图教程
  • 参数服务器 server and client
  • 一文可视化分析2025年6月计算机视觉顶刊IJCV前沿热点
  • 满足高性能AI服务器的企业SSD有哪些?三星PM1743与Solidigm PS1010
  • Ⅹ—6.计算机二级综合题27---30套
  • 研发流程管理经验分享
  • 部署ELK8.18对日志进行收集、展示
  • 1Panel Agent 证书绕过实现远程命令执行漏洞复现(CVE-2025-54424)
  • 【Spring Boot 快速入门】八、登录认证
  • Java 大视界 -- Java 大数据机器学习模型在金融风险传染路径模拟与防控策略制定中的应用(387)
  • [Oracle] LEAST()函数
  • CORS 跨域问题 Next.js 跨域问题放通
  • HttpURLConnection (JDK原生)和Hutool HTTP工具的区别
  • GStreamer:开源多媒体框架技术详解与应用实践