有什么方法可以使用MyVariable
类中的变量StartPage
而不使用this.
吗?我问的原因是我需要在函数中引用它,而this
在这里不起作用。我从here知道我可以使用=> {...
,但这并不总是对我有用。我该怎么办?
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-start',
templateUrl: './start.page.html',
styleUrls: ['./start.page.scss'],
})
export class StartPage implements OnInit {
constructor() {}
MyVariable = "Value";
ngOnInit() {
console.log(MyVariable);
//anyway to use MyVariable without `this.` prefix?
}
}
答案 0 :(得分:3)
I need to reference this in a function, and this does not work
我认为这是因为您尝试从回调函数(订阅,setTimeout或类似函数)进行访问,并且未在上下文中定义。为了可以将此作为StartPage类的引用进行访问,必须将对此的引用绑定到该函数,例如:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-start',
templateUrl: './start.page.html',
styleUrls: ['./start.page.scss'],
})
export class StartPage implements OnInit {
constructor() {}
MyVariable = "Value";
ngOnInit() {
this.myFunction().bind(this);
}
myFunction(){
// ...
this.MyVariable = someValue
// ...
}
}