我正在使用angular2和typescript,我已经定义了一个类
export class Example{
//.../
const self: all = this;
functionToCall(){
//.. Do somerthing
}
mainFunctionCall(){
somepromise.then(x => self.functionToCall('url/'+ x.name ) )
}
}
但它一直在抛出有关未定义的functionToCall的错误。
我对typescript / angular @
很新是否存在任何阻止此更正的规则?或者在另一个方法中调用类方法的正确方法是什么?
答案 0 :(得分:0)
这里不需要这样的hack,因为lambda函数捕获外部作用域的this
引用。你可以简单地写一下:
const somepromise = Promise.resolve({name:"noone"});
class Example {
functionToCall(x : string) {
console.log(x);
}
mainFunctionCall() {
somepromise.then(x => this.functionToCall('url/'+ x.name ) )
}
}
(new Example()).mainFunctionCall();
修改更新了代码段,以包含所有详细信息。可以在typescript playground。
中运行