繁体   English   中英

角度服务注入的未定义`this`实例

[英]Undefined `this` instance for angular service injection

考虑以下示例:

我的组件.ts

export class MyComponent {

  constructor(private myService: MyService) {
    myService.printServiceField();
  }
}

我的服务.ts

@Injectable({
  providedIn: 'root'
})
export class MyService {

  readonly myField= 'N/A';

  constructor() {}

  printServiceField() {
    console.log(this.myField);
  }

我得到以下

错误类型错误:“这是未定义的”

谁能解释为什么或指出我正确的方向? 如果我将 myField 设为static (并使用MyService.myField调用它),则它可以工作。 我并不是真的在寻找解决方案(我有),而是为什么会发生这种情况。

它工作正常 - 这里是 stackblitz : https ://stackblitz.com/edit/angular-khbj1x

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM