【发布时间】:2017-07-30 13:29:17
【问题描述】:
我正在使用 ionic 2 并尝试在 *ngFor="" 中对数组进行排序。
很遗憾,它给我一个错误,我不知道为什么,这是related post
我的管道是这样的:
import {Injectable, Pipe} from '@angular/core';
import * as _ from 'lodash';
@Pipe({ name: 'order-by' })
export class OrderByPipe {
transform(array, args) {
return _.sortBy(array, args);
}
}
我的 *ngFor :
<button ion-item *ngFor="let user of users | order-by:'likes'" >
错误
TypeError: Cannot read property 'toUpperCase' of undefined ("
<ion-list>
<button ion-item [ERROR ->]*ngFor="let user of users | order-by: 'likes'">
其他人有相同的problem。不知道为什么它不起作用..
您是否有另一个管道来对数组进行排序? :) 谢谢 !
【问题讨论】:
-
浏览器控制台有错误吗?
-
可能是管道名称?我有一个名为
orderBy的类似管道,它可以工作。另外,我将args作为Array传递:['likes']。 -
@GünterZöchbauer 控制台错误在我的错误标题下(更新)@Arg0n 装饰器中没有管道名称
@Pipe({ name: 'order-by' })所以我认为是正确的。您的管道是否按子值排序数组? :) -
您在管道定义中错过了
implements PipeTransform -
@luiswill 我是说名称中可能不允许使用“-”,并不是说它在您的代码中不一样。
标签: javascript sorting angular pipe ionic2