Angular2 создать Dom вписать значения из массива

349
14 октября 2017, 20:45

Добрый день, с Angular работаю впервые, пока кажется очень сложным и непонятным, но работать приходится, возникла проблема, Необходимо создавать DOM в количестве строк в массиве и подпихивать туда значения, из массива,DOM создается корректно но значения не подставляются. . Вот собственно код:

<ng-container *ngFor="let i of data">
  <div class="application-name-block flex-item" onclick="location.href='{{ data[i].HOSTURL }}'">
    <div class="application-block flex-item">
      <img src="../../assets/{{ data[i].APPNAME }}" style="max-width: 100%">
    </div>
    <span class="application-name">{{ data[i].APPICON }}</span>
  </div>
  </ng-container>

Где data это массив вотт такого плана из 14 строк

0:{APPID: 1, APPNAME: "IR Admin", APPCODE: "IR_ADMIN", APPICON: "iRadmin.png", HOSTURL: "http://portal.ru.auchan.com", …}
Answer 1

В *ngFor="let i of data" i будет последовательно принимать значения массива data, это не индекс. Либо далее в шаблоне вместо data[i].xxx используйте i.xxx либо поменяйте цикл на примерно такой *ngFor="let d of data; let i = index" - в этом случае i будет именно текущим индексом.

https://angular.io/guide/structural-directives#inside-ngfor

READ ALSO
Интернет-магазин с Angular, хорошая ли идея? [требует правки]

Интернет-магазин с Angular, хорошая ли идея? [требует правки]

Если бы не было проблем с индексированием топовыми поисковиками сайтов, полностью рендерихщася на фронте (когда бэк отдает только json) - то этот...

548
Использование нескольких операторов &#39;?&#39;

Использование нескольких операторов '?'

ЗдравствуйтеХочу переписать скрипт, используя конструкцию:

223