Избегайте рендеринга с помощью *ngIf

#angular

#angular

Вопрос:

У меня есть следующий код

 <div class="row" *ngIf="false">
  {{test}}
</div>
 

test намеренно не определено в моем компоненте. false In *ngIf предназначен для этого примера.
Сайт работает правильно, но через некоторое время после запуска моего приложения я получил следующее сообщение об ошибке в терминале:

Свойство ‘test’ не существует для типа XXX

Я ожидаю, что {{test}} это никогда не будет отображаться. К сожалению, это не так. Есть идеи, как я могу избежать рендеринга этой тестовой части?

Тест здесь просто пример, в реальном случае я устанавливаю параметры с помощью:

 [options]="optionsList$ | async"
 

Комментарии:

1. перед рендерингом ваше приложение должно быть скомпилировано, поэтому объявите свой список опций $ observable

2. но мне это не нужно ни в моем компоненте, ни в моем шаблоне. Это сделает мой компонент собственной «бесполезной» переменной

3. можете ли вы создать свое приложение без ошибок?

4. возможно, я не понимаю вашего вопроса… всего наилучшего

5. вам нужно определить test в вашем .component.ts, даже если вы нигде не используете / не заполняете его. Ваша сборка вызовет истерику, заявив, что вы пытаетесь получить доступ к переменной, которая не определена (даже если она никогда не появляется в DOM в браузере, ваша сборка все равно должна знать, откуда берутся все переменные)

Ответ №1:

Если я хорошо понимаю ваш вопрос, попробуйте это

 [options]="(optionsList$ | async).length > 1"
 

Надеюсь