ค้นหาเว็บไซต์

typescript - Angular 7 ngFor ทำซ้ำผ่านอาร์เรย์ของอ็อบเจ็กต์


ฉันไม่สามารถวนซ้ำผ่านอาร์เรย์ของอ็อบเจ็กต์ได้ ในแต่ละอ็อบเจ็กต์ ฉันมีชื่อ แต่ฉันไม่สามารถดึงข้อความของอ็อบเจ็กต์หรือชื่อภายในได้

ฉันมีโค้ดดังต่อไปนี้ในไฟล์ ts ของฉัน

retrieveMultiple(config, "accounts")
.then(
    (results) => {
        const accounts: any[] = [];
        for (let record of results.value) {
            accounts.push(record);
        }

        this.accounts= accounts;
        console.log(accounts[0].name);
        console.log(accounts);
    },
    (error) => {
        console.log(error);
    }

และฉันมีสิ่งนี้ในไฟล์ HTML ของฉัน:

      <p>Accounts:</p>
  <ul>
    <li *ngFor="let account of accounts | json">
      {{ account.name }}
    </li>
  </ul>

คำตอบ #1

คุณไม่ควรมีท่อ json ในนิพจน์ลูปของคุณ เปลี่ยนโค้ดเอาต์พุตของคุณเป็นดังนี้:

<p>Accounts:</p>
<ul>
  <li *ngFor="let account of accounts">
    {{ account.name }}
  </li>
</ul>

หรือสำหรับการดีบักคุณสามารถใช้สิ่งนี้:

<p>Accounts:</p>
<ul>
  <li *ngFor="let account of accounts">
    {{ account | json }}
  </li>
</ul>

คำตอบ #2

https://angular.io/api/common/NgForOf

retrieveMultiple(config, "accounts")
.then(
    (results) => {
        this.accounts = results.value;
        console.log(this.accounts[0].name);
        console.log(this.accounts);
    },
    (error) => {
        console.log(error);
    }
)
<p>Accounts:</p>
<ul>
  <li *ngFor="let account of accounts">
    {{ account.name }}
  </li>
</ul>