我有一个TypeScript类有一个函数,我打算用作回调:
我将其传递给另一个函数
这会调用一个jQuery Ajax方法如果成功,调用回调 p>
我可以保留对我的类的'this'引用的唯一方法是传递给回调,洳上所示它工作,但它的裤子代码如果我不像这样(遗憾)连接'this',那么在回调方法中对此的任何引用都已还原到Window对象因为我一直使鼡箭头函数,我预计'this'将是类本身因为它在我的类中的其他地方。
他有一个更简洁的解决方案它将允许你使用胖箭头语法在类定义中定義和实例化一个作用域的函数。
我要补充的唯一的事情是关于选项5 在Zac的答案,可以指定方法签名和返回类型没有任何重复使用这种语法:
定义函数属性类型的语法已更改(自TypeScript版本0.8开始)
以前,您将定义一个函数类型如下所示: p>
我已经更新了下面的答案,
另外:如果您需要为同一个函数名称定义多个函数签名(例如运行时函数重载)那么你可以使用对象映射符号(这在jQuery描述符文件中广泛使用):
有作為您类的属性的 removeRow几种不同的方式可以做到这一点。
想要保持你的构造函数最小那么你可以只保留 removeRow 方法在类定义,只需在构造函数中分配┅个代理函数:
最后如果你使用下划线或jQuery这样的库,你可以使用它们的实用方法创建代理:
然后您可以稍微整理 deleteItem 方法:
微信公众号搜索 “ IT屋 ” ,选择关注
我有一个TypeScript类有一个函数,我打算用作回调:
我将其传递给另一个函数
这会调用一个jQuery Ajax方法如果成功,调用回调 p>
我鈳以保留对我的类的'this'引用的唯一方法是传递给回调,如上所示它工作,但它的裤子代码如果我不像这样(遗憾)连接'this',那么在回调方法中对此的任何引用都已还原到Window对象因为我一直使用箭头函数,我预计'this'将是类本身因为它在我的类中的其他地方。
他有一个更简洁的解决方案它将允许你使用胖箭头语法在类定义中定义和实例化一个作用域的函数。
我要补充的唯一的事情是关于选项5 在Zac的答案,可以指定方法签名和返回类型没有任何重复使用这种语法:
定义函数属性类型的语法已更改(自TypeScript版本0.8开始)
以前,您将定义一个函数类型洳下所示: p>
我已经更新了下面的答案,
另外:如果您需要为同一个函数名称定义多个函数签名(例如运行时函数重载)那么你可以使用對象映射符号(这在jQuery描述符文件中广泛使用):
有作为您类的属性的 removeRow几种不同的方式可以做到这一点。
想要保持你的构造函数最小那么伱可以只保留 removeRow 方法在类定义,只需在构造函数中分配一个代理函数:
最后如果你使用下划线或jQuery这样的库,你可以使用它们的实用方法创建代理:
然后您可以稍微整理 deleteItem 方法:
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起