Я думаю, есть несколько способов сделать это
Один из них - написать геттер, чтобы получить элементы:
html
<li *ngFor="let footerPage of getFirstFour()">
<a routerLink="page/{{footerPage.id}}/{{footerPage.slug}}">
{{footerPage.title}}
</a>
</li>
ts
public function getFirstFour() {
return this.footerExtraPages.map((item, i) => {
if (i <= 4) {
return item;
}
})
}
А затем создайте новый ul
, который получит остаток соответственно
Чтобы избежать необходимости полагаться на индекс из шаблона (let i = index+1
), вы также можете простотакже используйте функцию, чтобы индекс оставался непротиворечивым:
public function getFirstFour() {
return this.footerExtraPages.map((item, i) => {
if (i <= 4) {
return { index: index + 1, ...item};
}
})
}
public function getRest() {
return this.footerExtraPages.map((item, i) => {
if (i > 4) {
return { index: index + 1, ...item};
}
})
}
имейте в виду, что если к объекту предмета прикреплен идентификатор, приведенный выше код может вызвать ошибки, если вы удалите оператор распространения, вы сможетечтобы сохранить оба, но это также означало бы, что вам придется переделывать шаблон, чтобы идти на уровень глубже.