Доступ к определенному элементу массива в шаблоне Angular2
у меня есть массив, который я могу перебирать с помощью ng-for
синтаксис. Однако, в конечном счете, я хочу получить доступ только к одному элементу этого массива. Я не могу понять, как это сделать.
в моем компонентном скрипте у меня есть
export class TableComponent {
elements: IElement[];
}
в моем шаблоне я могу перебирать элементы через
<ul>
<li *ngFor='let element of elements'>{{element.name}}</li>
</ul>
однако, пытаясь получить доступ к элементу в массиве элементов, используя ссылку на элемент
x {{elements[0].name}}x
не кажется работа.
форматирование в шаблоне довольно явное, поэтому я хочу иметь доступ к каждому элементу массива явно в шаблоне.
Я не понимаю чего-то базового....
2 ответов
{{elements[0].name}}
должны просто работать. Если вы загрузите elements
async (с сервера или аналогичного) затем Angular терпит неудачу, когда он пытается обновить привязку до того, как пришел ответ с сервера (что обычно имеет место). Однако вы должны получить сообщение об ошибке в консоли браузера.
вместо
{{elements && elements[0].name}}
работа вокруг, используйте ngIf проверьте длину. элементов? означает, что если elements имеет значение null, не читайте длина собственность.
<div *ngIf="elements?.length">
{{elements[0].name}}
</div>