如何通过管道呈现 UL 列表 角度 4.



我有以下UL列表:

 <li class="item" *ngFor="let lang of languages | orderBy: 'def'">{{lang.id}}</li>

orderBy管道在哪里:

import { Pipe, PipeTransform } from '@angular/core';
import * as _ from 'lodash';
@Pipe({
  name: 'orderBy'
})
export class OrderBy implements PipeTransform {
  transform(array: any[], orderBy: any) {
    return _.sortBy(array, orderBy)
  }
}

languages对象是:

[ { "id": 1, "code": "fr", "active": true, "def": 0, "hide": false }, { "id": 2, "code": "ru", "active": true, "def": 1, "hide": false } ]

如您所见,此管道按属性"def"排序。就我而言,第一个元素li应该是 { "id": 2, "code": "ru", "active": true, "def": 1, "hide": false } .

但我看到它并不高兴。模板不会呈现。

我检查了这个:

var c  = _.sortBy([ { "id": 1, "code": "fr", "active": true, "def": 0, "hide": false }, { "id": 2, "code": "ru", "active": true, "def": 1, "hide": false } ],"def");

它返回我对象:

{id: 1, code: "fr", active: true, def: 0, hide: false}
{id: 2, code: "ru", active: true, def: 1, hide: false}

如您所见,带有def: 1元素不是第一位。

user array.reverse

_.sortBy([ { "id": 1, "code": "fr", "active": true, "def": 0, "hide": false }, { "id": 2, "code": "ru", "active": true, "def": 1, "hide": false } ],"def").reverse()

最新更新