В настоящее время у меня возникла проблема/вопрос о необязательной цепочке в Angular. Я использую Angular 20 с включенным параметром "strictTemplates": true как angularCompilerOptions и "strict": true как параметр compilerOptions.
Код: Выделить всё
@if(component().metadata?.title){
{{ component().metadata?.title }}
}
В приведенном выше примере у меня есть входной сигнал, который имеет интерфейс, в котором метаданные являются необязательным полем. Если бы я удалил ? после метаданных внутри элемента span выдается ошибка: «Объект, возможно, не определен». Это кажется немного странным, поскольку вокруг этого есть оператор @if.
Я ожидал, что приведенный ниже код будет работать нормально, но это не так.
Код: Выделить всё
@if(component().metadata?.title){
{{ component().metadata.title }}
}
Это ожидаемое поведение? Или это можно решить?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... l-chaining