Angular 2 запрашивает несколько элементов HTML для @ViewChildren

В Angular 2 @ViewChildren можно использовать для получения нескольких элементов HTML с использованием локальных переменных шаблона, например

@ViewChildren('var1, var2, var3')

Есть ли лучший и простой способ получить несколько элементов HTML, например, используя имя класса:

@ViewChildren('my-sensitive-info-class')

чтобы получить все элементы, содержащие имя класса. Или используя тип элемента, имя,...

Я пытался использовать ElementRef, но он не работает, когда элементы HTML встроены внутрь *ngIf.

Я попытался установить одни и те же локальные переменные шаблона для разных элементов, и похоже, что @ViewChildren('myVar') может получить для меня все элементы. Но Angular Doc говорит, что это имеет неизвестные последствия.

У меня нет другого выбора, кроме как использовать @ViewChildren из-за асинхронности. Но я хочу упростить вызов @ViewChildren. В противном случае, всякий раз, когда я добавляю новые элементы, мне нужно добавить новую локальную переменную шаблона для элемента, а затем добавить переменную в @VeiwChildren(). Если я могу запросить на основе класса, мне нужно только пометить новый элемент именем класса. Нет необходимости изменять вызов @ViewChildren().


person user3616544    schedule 06.12.2016    source источник
comment
Связанный вопрос должен содержать всю необходимую информацию.   -  person Günter Zöchbauer    schedule 06.12.2016
comment
Я пытался использовать ElementRef, но он не работает, когда элементы вложены внутри *ngIf.   -  person user3616544    schedule 06.12.2016
comment
Когда выражение *ngIf равно false, элемент не существует и не может быть запрошен. На ViewChildren можно подписаться, чтобы получать уведомления о добавлении или удалении элементов.   -  person Günter Zöchbauer    schedule 06.12.2016