在Angular 2中,我得到了一個項目列表,並根據給定的條件(即基於位置編號),我將該列表設置爲重複。Angular 2使用* ngFor和ngIf隱藏第一個元素
我需要隱藏「刪除文本」爲每個位置的第一個框。
Plunker: https://plnkr.co/edit/xtX5BjTBjO61sD2tLwWN?p=preview:
[1]: https://plnkr.co/edit/xtX5BjTBjO61sD2tLwWN?p=preview
import {Component} from '@angular/core';
@Component({
\t selector: 'app',
\t template: `
\t
<ul *ngFor="let locdata of locations">
<template ngFor let-item [ngForOf]="items"; let-i=index>
<div *ngIf="item.location==locdata.location">
<div class="title"> location {{ item.location}} <span *ngIf="isNotFirst(item)"> remove </span> </div>
<div class="container"> {{ item.sedule}}</div>
</div>
</template>
\t </ul>
\t
\t `
})
export class App {
items: string[];
isNotFirst(item: any) {
return this.items.filter(i => i.location === item.location).map(i => i.id).indexOf(item.id) !== 0;
}
locations:any;
constructor() {
this.locations=[{location:1},{location:2},{location:3}];
this.items = [{
id:1,
location:1,
sedule:1
},
{
id:2,
location:2,
sedule:1
},
{
id:3,
location:1,
sedule:2
},
{
id:4,
location:2,
sedule:2
},
{
id:5,
location:1,
sedule:2
},
{
id:6,
location:2,
sedule:3
}, {
id:7,
location:3,
sedule:1
},
{
id:8,
location:3,
sedule:2
},
{
id:9,
location:3,
sedule:3
}];
}
}
我想你可以添加一個類到'first'元素並通過CSS隱藏它? (見:http://blog.angular-university.io/angular-2-ngfor/) – ochi
你將如何添加我無法得到的邏輯。 –
我們可以使用[hidden]也可以,但[hidden] =不能找到的條件。 –