一个可注射的课程'这个'正在引用注入的组件。
想要使用injectable从组件中抽象代码。但是,当我使用'这个'引用@Injectable类中父方法中的其他方法,然后尝试使用它注入的组件。
方法thas被称为this.enclosedMethod不起作用。错误:this.enclosedMethod不是函数。记录这个'表明它引用了已注入的Component类。例如
@Injectable()
export class UploaderService {
constuctor() {}
parentMethod() {
this.logSomething();
const that = this;
that.logSomething();
}
logSomething() {
console.log('Testing');
}
}
@Component()
export class AppComponent implements OnInit {
constructor(private upload: UploaderService) {
this.parentMethod = upload.parentMethod;
}
NgOnInit(): void {
this.parentMethod(); // this.logSomething is not a function or that.logSomething is not a function
}
}
问题:如何在Injectable中使用其他方法中的方法?我现在正在画一个空白
答案 0 :(得分:0)
如何在Injectable中使用其他方法中的方法?我现在正在画一个空白
修正您的this
:
@Component()
export class AppComponent implements OnInit {
constructor(private upload: UploaderService) {
this.parentMethod = () => upload.parentMethod(); // FIXED!
}
NgOnInit(): void {
this.parentMethod();
}
}