我使用以下代码在.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上渲染。
最好的方法是什么?
只需在服务中使用地图运算符即可改变结果。我们在方案中使用地图运算符或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;
})