Angularjs 什么是重新排列UI列表的快速方法?
我正在使用Angular 2&Typescript 在我的项目中,我展示了一个简单的json对象列表,html如下所示:Angularjs 什么是重新排列UI列表的快速方法?,angularjs,html,typescript,angular,Angularjs,Html,Typescript,Angular,我正在使用Angular 2&Typescript 在我的项目中,我展示了一个简单的json对象列表,html如下所示: <div> <!-- Present List Button --> <button md-button (click)="showList()" class="md-primary" title="show list">Cropping</button> &l
<div>
<!-- Present List Button -->
<button md-button
(click)="showList()"
class="md-primary"
title="show list">Cropping</button>
</div>
<md-content>
<div *ngIf="showList">
<div class="list-bg" *ngFor="#list of lists | async">
ID: {{list.id}} <p></p> Number of Items: {{list.numberOfItems}}
</div>
</div>
</md-content>
种植
ID:{list.ID}项目数:{{list.numberOfItems}
非常简单的列表
现在我需要某种方法来重新排列这个列表,并将列表数组设置为新的顺序
我正在寻找一种方法,用户可以根据自己的意愿对列表重新排序,比如按优先级更改列表
有人能帮我找到一个方法,将快速实施,将工作良好
(我查看了一些拖放库,但我使用的是Angular 2(2.0.0-beta.15)的特定版本,它们都不支持。)
谢谢你 为此,您必须使用angular 2 pipe查看更多信息 按管道订购 按升序查看
ID:{list.ID}项目数:{{list.numberOfItems}
按降序查看
ID:{list.ID}项目数:{{list.numberOfItems}
为此,您必须使用angular 2管道查看更多信息
按管道订购
按升序查看
ID:{list.ID}项目数:{{list.numberOfItems}
按降序查看
ID:{list.ID}项目数:{{list.numberOfItems}
try:lists.reverse();try:lists.reverse();]我在寻找一种方法,用户可以根据自己的意愿对列表进行重新排序,比如按优先级更改列表,我可以根据你的建议这样做吗?是的,你可以,但在这种情况下,你必须将对象而不是id作为字符串传递,然后从该字符串中获得要排序的对象属性的名称,或者你可以这样做:orderBy:true==false?'id':'numberOfItems']我正在寻找一种方法,用户可以根据自己的意愿对列表重新排序,像按优先级更改列表一样,我可以根据您的建议执行此操作吗?是的,您可以,但在这种情况下,您必须将对象而不是id作为字符串传递,并从该字符串中获得要排序的对象属性的名称,或者您可以按以下方式执行:true==false?'id':'numberOfItems'
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: "orderBy",
pure: false,
})
export class OrderBy implements PipeTransform {
transform(array: any, args: any) {
if (array != null) {
if (array) {
let orderByValue = args;
let byVal = 1
if (orderByValue.charAt(0) == "!") {
byVal = -1
orderByValue = orderByValue.substring(1)
}
array.sort((a: any, b: any) => {
if (a[orderByValue].toString().toLowerCase() < b[orderByValue].toString().toLowerCase()) {
return -1 * byVal;
} else if (a[orderByValue].toString().toLowerCase() > b[orderByValue].toString().toLowerCase()) {
return 1 * byVal;
} else {
return 0;
}
});
return array;
}
}
}
}
import {Filter} from '../pipes/filter';
import {OrderBy} from '../pipes/orderBy';
@Component({
selector: 'category',
templateUrl: '../views/category.component.html',
directives: [ROUTER_DIRECTIVES],
providers: [SetupService, HTTP_PROVIDERS],
pipes: [ OrderBy]
})
<md-content>
<div *ngIf="showList">
<div class="list-bg" *ngFor="#list of lists | async | orderBy:'id'">
ID: {{list.id}} <p></p> Number of Items: {{list.numberOfItems}}
</div>
</div>
</md-content>
<md-content>
<div *ngIf="showList">
<div class="list-bg" *ngFor="#list of lists | async | orderBy:'!id'">
ID: {{list.id}} <p></p> Number of Items: {{list.numberOfItems}}
</div>
</div>
</md-content>