* ngFor - не может отображать элементы динамически - Angular 6 - кнопка Mat-menu - PullRequest
1 голос
/ 25 апреля 2019

Пока что имею,

  this.ItemList = [{
    "item1":"value-1".
    "item2":"value-2".
    "item3":"value-3".
    "item4":"value-4".
    }];

<button mat-button mat-raised-button color="warn" [matMenuTriggerFor]="menu" (click)='dummyBtn($event)'>List of values</button>
  <mat-menu #menu="matMenu" *ngFor = "let list of ItemList">
    <button mat-menu-item>Item 1</button>
    /*<button mat-menu-item>Item 2</button>
    <button mat-menu-item>Item 2</button>*/
  </mat-menu>

Я не вижу никаких ошибок в консоли.но в то же время значения не отображаются, а просто отображаются жестко закодированные значения.

Кто-нибудь может сказать мне, как этого добиться?существующий пример stackblitz, кажется, усложняет создание динамического элемента.или это действительно невозможно с моим подходом?

пожалуйста, не понижайте голос без каких-либо причин.Я встречал несколько примеров, которые сейчас не помогают спасибо

Ответы [ 3 ]

2 голосов
/ 25 апреля 2019

Не могли бы вы попробовать это и сообщить мне результаты?

<mat-menu #menu="matMenu" *ngFor = "let list of ItemList">
<button mat-menu-item>{{list}}</button>
/*<button mat-menu-item>{{list}}</button>
<button mat-menu-item>{{list}}</button>*/
</mat-menu>
1 голос
/ 25 апреля 2019

объявить objectKeys = Object.keys в файле ts и в html,

<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
  <button mat-menu-item *ngFor="let key of objectKeys(ItemList[0])">
    {{ ItemList[0][key] }}
  </button>
</mat-menu>
1 голос
/ 25 апреля 2019

Чувствую себя хуже всего. Я только что сделал глупую глупую ошибку,

  1. объявление переменной внутри функции, поэтому область действия 'let abc' не существует вне функции.

  2. объявленная переменная не является массивом

Я просто исправляю вышеуказанные ошибки. теперь работает как положено

...