5

我在角度 5 中使用时刻 v2.22.0,这就是我在模块中导入它的方式 -

import * as moment from 'moment';

并在组件中使用它 -

export class ChatComponent {
  .
  .
  .
  public moment: any = moment;
  .
  .
}

当我在 html 模板中使用它时 -

<div>{{moment(activeTeam.createdAt).format('LL')}}</div>

它给了我一条错误消息-

[Angular] Member 'moment' is not callable

谁能告诉我我做错了什么!

4

5 回答 5

17

cli(在控制台中运行)

// install moment js
npm install moment --save

组件声明 (ts)

// import and declare moment
import * as moment from 'moment';
moment: any = moment;

模板文件 (html)

// template syntax
<p>{{moment(date_time_variable).format('ll')}}</p>
于 2019-09-23T05:14:12.867 回答
4

不要使用any,没有它就声明

import * as moment from 'moment';
moment = moment;
于 2019-11-23T14:42:12.907 回答
3

尝试导入moment为:

import  moment from 'moment';

HTML:

<div>{{getFormat(activeTeam)}}</div>

TS:

getFormat(activeTeam){
   return moment(activeTeam.createdAt).format('LL')
}
于 2018-08-27T10:46:09.837 回答
0

删除* as表单导入

moment从安装npm install moment --save

Stackblitz 演示

import  moment from 'moment';

export class ChatComponent {
  moment: any = moment;
}

<div>{{moment(activeTeam.createdAt).format('LL')}}</div>
于 2018-08-27T10:51:39.257 回答
0

与其将 moment 的类型声明为 any,不如将其声明为moment: () => any;

于 2018-08-27T10:44:43.840 回答