Saya mengambil data dari server dalam format json dalam file .ts menggunakan kode di bawah ini:

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

Ditampilkan pada halaman home.html menggunakan kode di bawah ini:

  <ion-list no-lines *ngFor="let list of displayList;let i=index;" >
    <ion-item>
{{list.TASKDESC}}
{{list.ENTUSR }}
{{list.ENTDT }}</ion-item>

Format ENTDT dalam array adalah 22-DEC-2017 03:22:11 tetapi saya ingin mengubahnya menjadi Date2 = new Date('22-DEC-2017 03:22:11').toISOString(); dan kemudian merender pada HTML.

Apa cara terbaik untuk melakukan ini?

0
user2828442 26 Desember 2017, 14:24
Anda dapat melakukan ini secara langsung dalam HTML seperti ini {{ list.ENTDT.toISOString() }}
 – 
hrdkisback
26 Desember 2017, 15:05

3 jawaban

Cukup gunakan operator peta dalam layanan Anda dan ubah hasil Anda. Kami menggunakan operator peta atau rxjs dalam skenario di mana kami ingin mengubah nilai yang dipancarkan dari yang dapat diamati. Gunakan tautan ini untuk informasi lebih lanjut https://www.learnrxjs.io/operators/transformation/ peta.html.

Semoga bisa membantu.

0
Sandip Jaiswal 26 Desember 2017, 14:39
Jadi dalam bahasa sederhana Anda bermaksud mengatakan, ketika saya mendapatkan nilai dalam array, gunakan rxjs, manipulasi salah satu objeknya sesuai kebutuhan dan sisa array tidak akan berubah, gunakan arrayon html baru, apakah saya melakukannya dengan benar?
 – 
user2828442
26 Desember 2017, 15:02

Pertama, Anda cukup melakukan ini:

this.ENTDT = data.map( e => new Date(e.ENTDT).toISOString());

Tetapi Anda juga harus dapat menggunakan hasil Anda saat ini dan menerapkan pipa tanggal ke dalamnya di html Anda

https://angular.io/guide/pipes
https://angular.io/api/common/DatePipe

0
Nickolaus 26 Desember 2017, 14:46
Mungkin saya tidak bisa menjelaskan di mana saya terjebak. Saya tidak dapat memahami di mana .ts saya harus mengkodekan apa yang Anda pandu sehingga this.displaylist's entdt object is changed and i get the altered one ...atau saya perlu membuat kode dalam html, mohon petunjuk
 – 
user2828442
26 Desember 2017, 14:54
Jika Anda hanya ingin memiliki tanggal yang dirender dalam tampilan Anda, Anda harus menggunakan pipa |date
 – 
Nickolaus
26 Desember 2017, 15:14

Coba ini

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;


})
0
Arun Kumaresh 26 Desember 2017, 15:44
Apa itu b? saya akan mencoba dan kembali
 – 
user2828442
26 Desember 2017, 15:44
A.TASKDESC memberikan kesalahan property TASKDESC does not exist on type '{}'.. , mohon saran
 – 
user2828442
28 Desember 2017, 12:28
Dapatkah Anda memposting respons json Anda?
 – 
Arun Kumaresh
28 Desember 2017, 12:32
Menyalin tanggapan json dari postman , tautan pastebin - pastebin.com/14rAZG1x
 – 
user2828442
28 Desember 2017, 12:41
Ganti saja var a = {};
 – 
Arun Kumaresh
28 Desember 2017, 12:59