Angular: Должен ли @Input () быть выше @ViewChild?И почему? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть компонент ImageUploaderComponent со значением @Input и значением @ViewChild.

export class ImageUploaderComponent implements OnInit {
  @Input() canvasheight: number;
  @ViewChild('cropper', undefined)
  ...
}

Компонент работает нормально, если строка @Input () находится перед строкой @ViewChild (...), но не работает, если они обращены.Я думаю, что это может быть связано с тем, что @ViewChild не использует точку с запятой, что вызывает ошибку.

РЕДАКТИРОВАТЬ: Ну, это была синтаксическая ошибка.Вам не нужно иметь @Input () выше @ViewChild, вопреки тому, что предлагает вопрос.

1 Ответ

0 голосов
/ 25 апреля 2018

Декоратор Input и ViewChild не имеют определенного порядка объявления.

Обратите внимание, что переменные доступны только в ngOnInit (), но не раньше (скажем, в конструкторе).

Что даже является «неопределенным» в вашем объявлении @ViewChild? Правильная декларация:

@ViewChild(ChildDirective) child: ChildDirective;

или

@ViewChild('reference') child: ChildDirective;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...