#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"
Надеюсь