Angular:@Input()必须高于@ViewChild吗?为什么?

时间:2018-04-25 05:18:53

标签: angular

我有一个具有@Input值和@ViewChild值的组件ImageUploaderComponent。

download.file(url, basename(url))

如果@Input()行在@ViewChild(...)行之前,该组件可以正常工作,但如果它们被反转则不起作用。我认为这可能与@ViewChild没有采用分号有关,这会导致错误。

编辑: 嗯,这是一个语法错误。你不必在@ViewChild上面有@Input(),这与问题的建议相反。

1 个答案:

答案 0 :(得分:4)

Input和ViewChild装饰器没有特定的声明顺序。

请注意,变量仅在ngOnInit()中可用,而不是之前(例如在构造函数中)。

@ViewChild声明中的'undefined'甚至是什么?适当的声明是:

@ViewChild(ChildDirective) child: ChildDirective;

@ViewChild('reference') child: ChildDirective;