简要说明:使用以下代码在.ts
文件中以json格式从服务器获取数据:
this.displayList = this._myservice.myservice(this.taskdesc).subscribe(data => {
this.dataa = data;
this.ENTDT = data.map( e => e.ENTDT );
console.log(this.ENTDT);
// answer in console is 2-DEC-2017 03:22:11
// need to change its format before rendering in HTML
使用以下代码在home.html
页面上显示:
<ion-list no-lines *ngFor="let list of displayList;let i=index;" >
<ion-item>
{{list.TASKDESC}}
{{list.ENTUSR }}
{{list.ENTDT }}</ion-item>
要求:数组中ENTDT的格式是22-DEC-2017 03:22:11
但我想将其更改为Date2 = new Date('22-DEC-2017 03:22:11').toISOString();
然后在HTML上呈现
做这个的最好方式是什么 ?
只需在服务中使用地图运算符并转换结果即可。我们在想要从可观察变换发射值的场景中使用map运算符或rxjs。有关https://www.learnrxjs.io/operators/transformation/map.html的更多信息,请使用此链接。
希望它会有所帮助。
首先你可以这样做:
this.ENTDT = data.map( e => new Date(e.ENTDT).toISOString());
但你也应该能够使用你当前的结果并在你的html中将日期管道应用到它
https://angular.io/guide/pipes https://angular.io/api/common/DatePipe
试试这个
this._myservice.myservice(this.taskdesc).subscribe(data => {
var newdata = data.map(function(obj){
var a = {};
a.TASKDESC = obj.TASKDESC;
a.ENTUSR = obj.ENTUSR;
a.ENTDT = new Date(obj.ENTDT).toISOString()
return a;
});
this.displayList = newdata;
})