Вопрос в том, можем ли мы использовать Iterables (кроме Arrays) для связывания внутри HTML-шаблона Angular 6+?Или, если можно, то как правильно сделать что-то вроде приведенного ниже псевдокода?
Обычно я экспериментировал с приведенным ниже кодом, и он отображает на экране клавиши, но я получаю ошибку:
ExpressionChangedAfterItHasBeenCheckedError: Выражение изменилось после его проверки.Предыдущее значение: 'ngForOf: [объект объекта]'.Текущее значение: 'ngForOf: [объект объекта]'.
Вот пример псевдокода:
MyComponent.ts
public items = { itemA: {}, itemB: {} }
*getKeyNames(obj):ItterableIterator<string>
{
const keys = Object.keys(obj);
for(let key of keys)
{
yield key;
}
}
MyComponent.html
<div *ngFor="let key of getKeyNames(items)">
<p>Key {{key}}</p>
</div>