Angular 离子管道类型错误:无法读取属性';toString';未定义的
我有一个爱奥尼亚4新闻阅读器应用程序。类Angular 离子管道类型错误:无法读取属性';toString';未定义的,angular,typescript,ionic4,Angular,Typescript,Ionic4,我有一个爱奥尼亚4新闻阅读器应用程序。类UutinenPage的属性pubDate正在uutinen.page.ts中异步分配一个值data.items[this.id].pubDate。该值应类似于2019-02-19 04:02:00。我需要用toLocaleDateString()打印出这个字符串,这样结果就是2019年2月19日。我得到以下错误: TypeError: Cannot read property 'toString' of undefined at Julkaisuaika
UutinenPage
的属性pubDate
正在uutinen.page.ts中异步分配一个值data.items[this.id].pubDate
。该值应类似于2019-02-19 04:02:00
。我需要用toLocaleDateString()
打印出这个字符串,这样结果就是2019年2月19日。我得到以下错误:
TypeError: Cannot read property 'toString' of undefined
at JulkaisuaikaPipe.push../src/app/julkaisuaika.pipe.ts.JulkaisuaikaPipe.transform (julkaisuaika.pipe.ts:10)
uutinen.page.html:
<ion-header>
<ion-toolbar>
<ion-title>Yle Uutiset</ion-title>
<ion-buttons slot="start">
<ion-button (click)="meneTakaisin()">
<ion-icon slot="start" name="arrow-back"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>{{ uutinen?.title }}</h1>
<p>{{ uutinen?.description }}</p>
<p><b>{{ uutinen?.categories[0] }}</b> {{ pubDate | julkaisuaika }}</p>
<img [src]="uutinen?.thumbnail">
<div [innerHTML]="uutinen?.content"></div>
</ion-content>
julkaisuaika.pipe.ts:
import { Pipe, PipeTransform } from '@angular/core';
import { uutissyote } from './uutissyote.interface';
@Pipe({
name: 'julkaisuaika'
})
export class JulkaisuaikaPipe implements PipeTransform {
transform(pubDate?: uutissyote): any {
let pvm = new Date(pubDate.toString());
return pvm.toLocaleDateString();
}
}
如果pubDate为null,则可能会发生这种情况,您应该在将其转换为字符串之前添加null检查
if(pubDate){
let pvm = new Date(pubDate.toString());
如果pubDate为null,则可能会发生这种情况,您应该在将其转换为字符串之前添加null检查
if(pubDate){
let pvm = new Date(pubDate.toString());
但是要小心,对于空字符串,此检查也将返回false。但是要小心,对于空字符串,此检查也将返回false。