Angular 2+:给定一个组件实例,请说明要注入哪些属性

时间:2019-03-15 12:22:24

标签: angular

考虑到通过ng.probe或仅通过组件内的console.log(this)获取的组件实例,我想知道通过构造函数注入了哪些属性,以及用户在组件内部定义了哪些属性。

示例:在以下代码段中:

组件中用户定义的属性:

  1. 标题
  2. input1

注入的属性:

  1. serverService
  2. activatedRoute

代码段

@Component({

})
export class AppComponent {
  title = 'ng-bubble-elements';
  @Input() set input1(val){

  }
  constructor(private serverService:ServerService, private activetedRoute: ActivetedRoute){
  }
}

1 个答案:

答案 0 :(得分:1)

不能。

称为

“注入的属性”,实际上只是用快捷方式编写的变量。

真正的语法是

constructor(x, y) {
  this.x = x;
  this.y = y;
}

这意味着除非将它们添加到数组或其他内容中,否则无法区分它们。

编辑

误解了这个问题。

您可以使用注入器来获取提供程序,但是您将在模块级别获取它们。您将获得所有提供程序,并且必须使用私有属性(因此使用数组符号)

constructor(injector: Injector) {
  console.log(injector['view']['root']['ngModule']['_providers']);
}