angular 轨道编号 2 管道
angular 2 pipe for track number
我有 json 这样的:
[
{
id : 4
},
{
id : 3
},
{
id : 2
},
{
id : 1
}
]
我想在 *ngFor
创建一个管道,我的模板在渲染后会变成这样(根据 id 从小到大列表)
<span><span><=== id =1
<span><span><=== id =2
<span><span><=== id =3
<span><span><=== id =4
angular 2 有 PIPE
这个作品?或者我们必须像这样创建一个管道?(如何)
您应该遵循 angularjs 2 个文档
<span *ngFor="let item of array">id = {{item.id}}</span>
假设您给定的数据在 array 变量中。在对数组进行模板排序之前,按照您希望 dom 显示的方式
您需要一个简单的分拣管。当然你也可以让它更通用:
@Pipe({
name: 'sortById',
pure: true
})
export class IdSortPipe implements PipeTransform {
transform(value: Array<any>, args:any[]):any {
value.sort((a, b) => {
return a.id - b.id;
});
return value;
}
}
在您的模板中:
<span *ngFor="let obj of array | sortById">id = {{obj.id}}</span>
Plunker for example usage
我有 json 这样的:
[
{
id : 4
},
{
id : 3
},
{
id : 2
},
{
id : 1
}
]
我想在 *ngFor
创建一个管道,我的模板在渲染后会变成这样(根据 id 从小到大列表)
<span><span><=== id =1
<span><span><=== id =2
<span><span><=== id =3
<span><span><=== id =4
angular 2 有 PIPE
这个作品?或者我们必须像这样创建一个管道?(如何)
您应该遵循 angularjs 2 个文档
<span *ngFor="let item of array">id = {{item.id}}</span>
假设您给定的数据在 array 变量中。在对数组进行模板排序之前,按照您希望 dom 显示的方式
您需要一个简单的分拣管。当然你也可以让它更通用:
@Pipe({
name: 'sortById',
pure: true
})
export class IdSortPipe implements PipeTransform {
transform(value: Array<any>, args:any[]):any {
value.sort((a, b) => {
return a.id - b.id;
});
return value;
}
}
在您的模板中:
<span *ngFor="let obj of array | sortById">id = {{obj.id}}</span>
Plunker for example usage