我正在使用 Ionic 4 ,并尝试使用以下lib:https://date-fns.org来获取日期字符串,例如2019-11-01 07:23:22
,以易于理解的方式显示。
所以我用以下命令安装了lib:
npm install date-fns --save
然后在mypage.ts
文件中
import { format, formatDistance, parseISO } from 'date-fns';
然后在mypage.html
文件中
<div class="date">{{ formatDistance(parseISO(h.created_at)) }}</div>
所以我在浏览器控制台中遇到此错误:
ERROR TypeError: _co.parseISO is not a function
它说该功能不存在,但是在文档中:https://date-fns.org/v2.6.0/docs/parseISO
我做错什么了吗?
答案 0 :(得分:0)
在TS文件中:
import { format, formatDistance, parseISO } from 'date-fns';
constructor(public formatDistance: formatDistance) {
}
这是HTML
<div class="date">{{ formatDistance(parseISO(h.created_at)) }}</div>
答案 1 :(得分:0)
只能从视图中调用components类的实例成员。
https://stackoverflow.com/a/41857120/7562674
在Ts文件中:-
import { Component } from '@angular/core';
import { format, formatDistance, parseISO } from 'date-fns';
export class AppComponent implements OnInit {
formatDistance=formatDistance;
parseISO=parseISO;
date= "2018-10-01";
d=new Date(2015, 0, 1)
constructor(){
console.log(formatDistance(parseISO("2018-10-01"), new Date(2015, 0,
1)))
}
在模板中:-
<p>{{formatDistance(parseISO(date),d)}}</p>
我检查了这是正常的。
声明为变量并分配它,而不是注入构造函数参数。由于它是一个函数而不是一个类,因此在构造函数中使用时为什么不显示错误而不显示类型。