choose: function(obj) {
obj.preview(function(index,file) {
file.name; //获取到了文件名
});
this.data.key = file.name; //要获取给这个 data 里的 key ,但获取不到。
}
1
DreamCMS OP return 也出不来,显示未定义。
|
2
xiangyuecn 2022-08-07 17:19:43 +08:00 1
|
3
reter 2022-08-07 17:25:42 +08:00 1
感觉是 X-Y 问题,同时没有完整的代码上下文。
我推测你遇到的问题是:在 preview 的回调函数无法指向你期待的 this 对象。 原因:function 内的 this 会根据执行的上下文发生变化 解决方法: 1. 用箭头函数,让 this 指向声明时的 this 2. 用 bind() 显式绑定 this |
4
shintendo 2022-08-07 17:59:00 +08:00 1
为啥你们觉得是 this 的问题,这不是作用域的问题吗,file 是匿名回调函数的局部变量,外面肯定取不到呀
另外也不知道你这回调函数是同步的异步的,异步那就是另外的问题了 感觉楼主没有理清楚执行逻辑 |
6
Roojay 2022-08-07 20:36:56 +08:00 via Android 1
|