js 字符串转方法,this域绑定
闲着没事,开发一个列表页面配置的功能,其中涉及到了按钮点击事件,在页面进行编辑,保存到数据库中。写好的js脚本,function是字符串格式,所以要让生成的脚本生效,还要做一些操作。
1.首先保存在数据库中的是字符串格式,如下:
可以看出这个只是一个字符串,如何让这个字符串转成对象,以及字符串的方法转成可执行的方法?
2.用Function()将字符串转成方法,具体如下
var that = this ;
var funcTest = (new Function('return '+events))() ;
可以看出,上面的字符串已经变成了可以使用的function,但是还存载问题
3.当点击事件中用到当前域时,会报错,具体如下:
其中that 指代的时父域this,会发现,that是undefined,这就存在了问题,父页面的数据在子组件中无法调用了;
4.通过当前子组件域绑定到父的域中,就可以实现,具体如下:
查看相关的this绑定的方法,如下:
https://blog.csdn.net/q3254421/article/details/86074284
call()和apply()方法进行this绑定;
参考博客:https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏