Могу ли я изменить свойства типа Date внутри метода get? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть метод, который возвращает коллекцию элементов

getDate() {
this.http.get(this.url, this.httpOptions)
.subscribe((res: any ) => {
  this.list = res.list;
  this.list.forEach(element => {
    return this.datePipe.transform(element.startTime, 'yyyy-MM-dd');
  });  
});
} 

Мне нужно преобразовать отображение даты.Для этого я хочу использовать DatePipe.Но могу ли я сделать это в методе getDate?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Попробуйте это:

getDate() {
  this.http.get(this.url, this.httpOptions)
    .pipe(
      map(res => res.list.map(element => ({
        ...element, 
        startTime: this.datePipe.transform(element.startTime, 'yyyy-MM-dd')
      )})))
     ).subscribe((res: any ) => {
       this.list = res.list;
     });  
}
0 голосов
/ 20 ноября 2018

Вы можете использовать функцию Observable.pipe() Rxjs.

примерно так:

 this.http.get(this.url, this.httpOptions).pipe(
     map(val => val = this.datePipe.transform(val.startTime, 'yyyy-MM-dd'))
  ).subscribe((res: any ) => {
    this.list = res.list;
  });

edit : ваш объект выглядит как список, поэтому вы можете использовать map() для преобразования каждого элемента

Проверьте больше здесь: https://angular.io/guide/rx-library#operators

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...