Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改json中的名称以在页面中显示_Javascript_Html_Json_Typescript_Ionic2 - Fatal编程技术网

Javascript 如何更改json中的名称以在页面中显示

Javascript 如何更改json中的名称以在页面中显示,javascript,html,json,typescript,ionic2,Javascript,Html,Json,Typescript,Ionic2,我想更改json中显示在页面中的名称(离子选择) 支原体 ion-select [(ngModel)]="refine" (ionChange)="optionsFn(item, i);" > <ion-option [value]="item" *ngFor="let item of totalfilter;let i = index" >{{item["@NAME"]}}</ion-option> </ion-select&g

我想更改json中显示在页面中的名称(离子选择)

支原体

ion-select [(ngModel)]="refine" (ionChange)="optionsFn(item, i);" >
        <ion-option [value]="item"  *ngFor="let item of totalfilter;let i = index" >{{item["@NAME"]}}</ion-option>
      </ion-select>
这将选择show creator lang和rtype,但我想更改页面中show的@NAME

示例创建者->创建者,语言->语言


但我不想更改json中的值(我想更改以便在页面中显示)

因此我认为对于您的*ngFor,您可以使用PipeTransform:

创建管道文件:mypipe.ts

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

@Pipe({
    name: 'mypipe', pure: false
})
export class MyPipe implements PipeTransform {

    transform(items: any[]): any[] {

        return items.filter(it => it["@NAME"] = it["@NAME"].charAt(0).toUpperCase() + it["@NAME"].slice(1));
    }

}
为管道添加导入:

import {MyPipe} from "./mypipe";
添加at声明(@NgModule):

最后,将*NGF更改为:

<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>

{{item[“@NAME”]}
Angular2的完整解决方案,但不是ionic2,我使用了plunker:


因此,我认为对于您的*ngFor,您可以使用PipeTransform:

创建管道文件:mypipe.ts

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

@Pipe({
    name: 'mypipe', pure: false
})
export class MyPipe implements PipeTransform {

    transform(items: any[]): any[] {

        return items.filter(it => it["@NAME"] = it["@NAME"].charAt(0).toUpperCase() + it["@NAME"].slice(1));
    }

}
为管道添加导入:

import {MyPipe} from "./mypipe";
添加at声明(@NgModule):

最后,将*NGF更改为:

<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>

{{item[“@NAME”]}
Angular2的完整解决方案,但不是ionic2,我使用了plunker:


为什么不复制一份包含所需值的JSON,并在视图中使用该值呢。或者,如果签入循环并将这两个值转换为所需的值,则可以使用dirty soln。为什么不使用所需值复制此JSON并在视图中使用该值呢。或者,如果签入循环并将这两个转换为所需的,则可能是脏的解决方案。好的,我为您的精确解决方案更改了,使用此编辑更改了您的管道,或者复制完整的解决方案Hey@fongfuse有问题吗?如果您需要其他帮助,请告诉我如果
lang
->
Language
,谢谢您的帮助。T-THey@fongfuse在管道中进行字符串替换很容易解决此问题,所以您能接受我的解决方案吗?如果我想
ion选择
仅显示
lang
rtype
,如何设置**我编辑了我的json,请阅读上面的内容。好的,我为您的解决方案进行了更改,使用此编辑更改您的管道,或者复制完整的解决方案Hey@fongfuse有问题吗?如果您需要其他帮助,请告诉我如果
lang
->
Language
,谢谢您的帮助。T-THey@fongfuse在管道中进行字符串替换很容易解决此问题,所以您能接受我的解决方案吗?如果我想
ion选择
仅显示
lang
rtype
,如何设置**我编辑了我的json,请阅读上面的内容。