Я столкнулся с проблемой при проверке длины массива, строки и числа типа объединения. Пример кода ошибки при сборке проекта angular в режиме prod:
Переменная в ts
public developerData: {
[key: string]: {
type: 'default';
data: string | number;
} | {
type: 'array',
data: Array < string | number | boolean >
}
} = {
'test': {
'type': 'array',
'data': ['1', '2', '3']
}
};
Шаблон HTML
<div *ngIf="developerData['test']['type']=='array' && developerData['test']['data'].length >= 0">
Welcome
</div>
Ошибка сборки продукта
Свойство "длина" не существует для типа "строка" | номер | (строка | число | логическое значение) [] '. Свойство «длина» не существует для типа «число».
Версии программного обеспечения
Угловой: 7.3.5
TypeScript: 3.1.6
Узел: 10.16.3
NPM: 6.9.0