2016-07-16 2 views
2

Мне интересно, есть ли у меня комбинация ngIf и ngFor вот так. Что будет работать первым, когда Angular создаст свои элементы?Angular 2 ngIf и ngFor combination

<li *ngIf='isDisplayed' *ngFor='let item of itemsList'></li>

изображений в сценарии, что мы имеем itemsList из нескольких тысяч item и ngFor проходит первый бы приложение полной катастрофой. Конечно, я могу использовать div, чтобы обернуть это и поставить там ngIf, но узнать больше об этом отлично. Благодарю.

ответ

3

Не поддерживается добавление нескольких структурных указаний на один элемент. Вам нужно использовать каноническую форму, используя явный тег <template>, по крайней мере для одного из них . Используйте дополнительный элемент <ng-container *ngIf="..."></ng-container> или <ng-container *ngFor="..."> для одного из двух структурных директив.

Смотрите также https://github.com/angular/angular/issues/4205

+0

Что вы имеете в виду под «не поддерживается»? Я имею в виду, технически я могу использовать их, и он все еще работает, не так ли? –

+0

См. Связанную проблему. В следующей версии это бросит. Вам нужно переместить один ('* ngFor' или' * ngIf') в тег '