gpt4 book ai didi

angular - Angular 2-管道排序-正确的语法

转载 作者:行者123 更新时间:2023-12-03 08:08:07 25 4
gpt4 key购买 nike

我想为 Angular 2 im创建一个管道,在我的html中正确使用它,但是每次使用它时array.sort都作为属性读取。错误是无法读取未定义的属性“sort”,这是我的管道的代码

import { Pipe, PipeTransform  } from "@angular/core";

import { Player } from './player';

@Pipe({
name: "arraysorting",
pure:false,
})
export class LeaderboardSortPipe implements PipeTransform {
transform(array: Array<Player>, args: string): Array<Player> {
array.sort((a: Player, b: Player) => {
if (a[args] < b[args]) {
return -1;
} else if (a[args] > b[args]) {
return 1;
} else {
return 0;
}
});
return array;
}
}

编辑:
这是我的HTML代码
<ul *ngIf="type!='' && amount==0" class="leaderboard">
<li *ngFor="let player of players | sort | slice:0; let i=index">
<span class="badge">{{player.id}}</span>{{player.name}}
<span *ngIf="type=='ratio'" class="points">{{player[type].toFixed(2)}} %</span>
<span *ngIf="type!='ratio'" class="points">{{player[type]}}</span>
</li>
</ul>

现在的排序顺序并不重要,问题在于,它根本没有在任何方向上进行排序

最佳答案

只要确保在传递null作为值时管道不会抛出

transform(array: Array<Player>, args: string): Array<Player> {
if(!array) {
return null;
}
array.sort((a: Player, b: Player) => {

关于angular - Angular 2-管道排序-正确的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42694085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com