Angular PipeTransform在ionic2中不工作
我有一些东西要换词 示例:lang->language 我想使用一个选项来显示第一个字母为大写的所有项目 示例:作者->作者 范例Angular PipeTransform在ionic2中不工作,angular,typescript,ionic-framework,pipe,ionic2,Angular,Typescript,Ionic Framework,Pipe,Ionic2,我有一些东西要换词 示例:lang->language 我想使用一个选项来显示第一个字母为大写的所有项目 示例:作者->作者 范例 author Author lang Language date Date loca Location 麦可德 <ion-select [(ngModel)]="refine" (ionChange)="optionsFn(item, i);" > <ion-op
author Author
lang Language
date Date
loca Location
麦可德
<ion-select [(ngModel)]="refine" (ionChange)="optionsFn(item, i);" >
<ion-option [value]="item" *ngFor="let item of totalfilter | mypipe;let i = index" >{{item["@NAME"]}}</ion-option>
</ion-select>
不工作,错误为
无法读取未定义的属性“筛选器”
这样做:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'mypipe', pure: false
})
export class MyPipe implements PipeTransform {
transform(items: any[]): any[] {
if (items && items.length)
return items.filter(it => it["@NAME"] = it["@NAME"].charAt(0).toUpperCase() + it["@NAME"].slice(1));
return items;
}
}
您可以这样尝试吗,让(totalfilter | mypipe)的项。您是否在应用程序模块中注册了管道仍然错误,是的,我在应用程序模块中注册了“../providers/mypipe”>
import{mypipe}”代码>和声明添加了MyPipe
,还有哪里?谢谢,我知道了。我有个新问题!我想添加it[“@NAME”].replace('lang','Language')
如何添加,我尝试返回items.filter(it=>it[“@NAME”]=it[“@NAME”].replace('lang','Language')&&it[“@NAME”].charAt(0.toUpperCase()+it[“@NAME”].slice(1))
此大写的除itemlang
之外的所有项都不会更改为Language
,但此更改lang
会先过滤项数组,然后过滤。。您可以映射这些项目。这里发生的事情是你同时在做这两件事。您无法监视正在实现的值。我想将所有项都大写,并将某些项的单词更改为大写。无法执行此操作?*ngFor=“totalfilter的let项| mypipe |大写;let i=index”
Angular 2已内置大写管道
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'mypipe', pure: false
})
export class MyPipe implements PipeTransform {
transform(items: any[]): any[] {
if (items && items.length)
return items.filter(it => it["@NAME"] = it["@NAME"].charAt(0).toUpperCase() + it["@NAME"].slice(1));
return items;
}
}