this 在箭头函数内未定义

2024-03-22

我试图在我的箭头函数中访问它:

import myObject from '../myObjectPath';
export const myClass = Fluxxor.createStore({
    initialize() {
        this.list = [];
        this.id = null;
    },
    myOutsideFunction(variable1) {
        // here this in NOT undefined
        myObject.getMyList(this.id, (myList) => {
            // here this in undefined
            this.list = myList;
        } 
    });
)};

但是在回调函数中的箭头函数内部 this 是未定义的!

我正在使用 babel 来转译代码:

myOutsideFunction: function myOutsideFunction() {
    var _this = this;
    myObject.getMyList(function (myList) {
        _this.list = myList;
    });
},

If this is undefined在箭头函数内,它在箭头之外也是未定义的。箭头函数只是捕获this的周围范围。

在这种情况下,您声明myOutsideFunction作为对象字面量上的方法,并且永远不会绑定它或执行任何其他会与对象一起调用它的操作this.

调试时,请记住转译器可以重命名变量(并且必须重命名this以便其正确捕获)。在控制台中使用原始名称而不包含重命名的源映射将向您显示undefined即使原始值不是。确保在监视或控制台命令中使用转换后的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

this 在箭头函数内未定义 的相关文章

随机推荐

  • 当重复应用于一系列计算时,ROUND_HALF_EVEN 为何以及如何最小化累积误差?

    我听说 ROUND HALF EVEN 是金融数据计算中首选的舍入模式 我很想知道这种舍入模式为何以及如何减少 javadoc BigDecimal 1 4 2 中所述的累积误差 谢谢 院长 From 维基百科 http en wikipe
  • Laravel:验证最大文件大小?

    我正在尝试在 Laravel 中验证最大文件大小为 500kb validator Validator make request gt all file gt size 500 但这表明该文件应该正好 500kb 大 如何编辑此规则 使其在
  • Django:将参数传递给原始 SQL 查询时 MySQL 语法错误

    我正在尝试执行原始 SQL 查询 如下所示 test Poll objects raw SELECT FROM s polls poll 并导致错误 ProgrammingError at 1064 You have an error in
  • Visual Studio 2012 JavaScript 智能感知不工作

    我的笔记本电脑和台式机上安装了 Visual Studio 2012 在我的台式电脑上 JavaScript 智能感知无法正常工作 对于它提取的任何方法 甚至是标准 JavaScript 调用 我都会收到消息 Intellisense 无法
  • 如何将 Html.Action 附加到 jquery

    我可以添加吗 report html Html Action ReportPage new id Model GoalId 这里的报告是我想要放置操作结果的div的id ReportPage id是传递给ReportPage actionr
  • 如何在 eclipse 中添加 Android Support v7 库?

    如何在 eclipse 中添加 Android 支持 v7 库 例如 如何将 CardView 添加到 eclipse android 项目 注意 这是一个自我回答问题 因此无需浪费时间回答 当然 如果您有什么需要补充的 欢迎补充 From
  • 水豚在我的电脑中打开一个html文件

    我的电脑中有一个 html 文件 我想使用 Capybara 打开该文件来测试它 你能帮我解决这个问题吗 P S 该 html 文件是在我的应用程序中自动创建的 我非常感谢任何帮助我解决这个问题的想法 谢谢 UPDATE 基于水豚源码her
  • HttpClient 中“连接被拒绝”异常和超时之间的区别

    我正在尝试确定网络上的设备是否正在使用 Java 运行 Web 服务器 为此 我使用 Apache 的 HttpClient 我发送一个请求 如果设备运行网络服务器 我就会收到响应 非常简单 但是 如果网络服务器没有运行 那么我观察到会发生
  • iPhone KERN_INVALID_ADDRESS

    我不确定为什么会收到此错误 并且无法找出原因 不过 这只发生在设备上 模拟器按预期运行 没有错误 有人能理解这个崩溃日志吗 Exception Type EXC BAD ACCESS SIGSEGV Exception Codes KERN
  • 将数组作为 axios 请求中的参数传递

    我需要通过以下方式提出请求axios 其中我想将这种类型的数组作为数组传递 1 2 3 4 我需要这些数据从我的后端进行选择查询 我的问题是 我应该使用GET or POST请求以及传递该数组的正确方法是什么 你可以POST它作为 json
  • Netbeans 分析器的“Self Time”实际上是什么意思?

    我一直对我的简单游戏需要运行的时间感兴趣 因此我使用了 Netbeans Java 分析器 Java 1 7 并且我可以在 热点 选项卡中看到 Self Time 和 Inspirations 列 例如 我的渲染方法有 自拍时间 1025
  • 如何向表单添加两个“on Submit=”值?

    我正在尝试使用两个单独的 JavaScript 函数来验证我的表单
  • 防止 mysql 在 where 子句中将字符串转换为 int

    我试图阻止 mysql 在 where 子句中将字符串转换为 int 以下查询返回订单的正确行 SELECT delivery name FROM orders WHERE orders id 985225 以下查询也返回与将我的字符串转换
  • 如何移动张量中的值

    我有形状为 batch size A 的张量 T 和形状 batch size 的张量 S 和移位参数 我想将 T b 中的值向右移动 S b 个位置 应删除 T b 的最后一个 S b 元素 并将新元素设置为 0 所以基本上想做类似的事情
  • 导入错误:没有名为“队列”的模块[重复]

    这个问题在这里已经有答案了 我正在尝试导入requests模块 但我收到此错误 我的python版本是3 4 在ubuntu 14 04上运行 gt gt gt import requests Traceback most recent c
  • 在 xCode 界面生成器中,是否可以使用 control+drag 将视图元素与文件所有者连接起来?

    通过 TightVNC 连接到 Mac Mini 来处理 iPhone 应用程序 Interface Builder 中用于将视图元素连接到文件所有者的控制 拖动操作不起作用 我没有看到连接线 当我将键盘 鼠标和显示器连接到 Mini 并直
  • 在启用 ARC 的 iOS 上将 CALayer 的内容设置为 CGImageRef

    以下代码在手动内存管理下可以正常编译 但在 ARC 下会失败 CALayer layer CALayer layer layer contents UIImage imageNamed dial png CGImage 错误是 自动引用计数
  • 按特定顺序排列的订购列表

    我有一个List我有新的顺序List应该有以下项目int 我想要该项目List应根据中的项目重新订购int 这是我执行此操作的代码 class Program static void Main string args List
  • Django 多数据库路由

    我一直在使用手动数据库选择来处理具有两个独立数据库的项目 我已经在设置中定义了我的数据库 经过进一步阅读后 似乎数据库路由实际上是解决此问题的方法 然而 在阅读了这里的文档和一些相关帖子后 我比以往任何时候都更加困惑 在我的设置中我有 DA
  • this 在箭头函数内未定义

    我试图在我的箭头函数中访问它 import myObject from myObjectPath export const myClass Fluxxor createStore initialize this list this id n