使变量可见外部回调函数 - Ionic2

时间:2016-09-15 09:59:50

标签: javascript angular typescript scope ionic2

我正在使用ionic2和我的控制器内部ngOnInit方法我有这个:

ngOnInit()
{
   let a;
   this.myAsyncMethod(function(b))  // this is a callback of an async method defined somewhere before ngOnInit()
   {
       a = String(b);  
   }
}

我希望能够将变量a传递给我的模板以及组件文件中的其他方法。

所以我试着用这种方式:

export class myComponent {
c:string;

constructor(....){ // some stuff }
... other methods 

ngOnInit()
{
   let a;
   this.myAsyncMethod(function(b))
   {
       a = String(b);
       this.c = a; // here I get this error in red: EXCEPTION: TypeError: Cannot set property 'c' of undefined  
   }
   // if I would put this.c = a here I'll get `c` undefined because I'd be outside the callback function and `a` is not defined yet. 
 }

}

在我的template.html我想打印c变量{{c}}

如何在c文件和template.html内的所有其他方法中显示mycomponent.ts

1 个答案:

答案 0 :(得分:2)

使用箭头功能,如:

this

这种方式this将引用您组件的实例。

另请参阅此处有关词汇if (setlocale(LC_ALL, "") == NULL) { echo("Unable to set locale"); } 的更多详细信息: