我有以下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
元素不是排在首位。
'{ 「ID」:1, 「代碼」: 「FR」, 「活性」:真, 「DEF」:0, 「隱藏」:假}'將是作爲def的第一個對象是0,對於這個和其他 – jitender
去下劃線站點並粘貼'_.sortBy([{「id」:1,「code」:「fr」,「active」:true,「def」: 0,「hide」:false},{「id」:2,「code」:「ru」,「active」:true,「def」:1,「hide」:false}],「def」)'in控制檯檢查結果 – jitender
並且有,請參閱對象。可能是sorsts對象,但不會渲染 – OPV