Поддержка Iterables внутри шаблонов Angular 6+ - PullRequest
0 голосов
/ 02 июля 2019

Вопрос в том, можем ли мы использовать 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>
...