我尝试使用它与typescript绑定:
npm install moment --save
typings install moment --ambient -- save
test.ts:
import {moment} from 'moment/moment';
如果没有:
npm install moment --save
test.ts:
var moment = require('moment/moment');
但是当我调用moment.format()时,我得到一个错误。
应该是简单的,谁能提供一个命令行/导入组合,将工作?
使用ng命令行
> npm install moment --save
在app.module
import * as moment from 'moment';
providers: [{ provide: 'moment', useValue: moment }]
在组件
constructor(@Inject('moment') private moment)
这样你就导入了一次时刻
5 . UPDATE Angular =>
{
provide: 'moment', useFactory: (): any => moment
}
对我来说,在aot中工作
还有通用的
除了利用时间,我什么都不喜欢。时刻
我得到了
Error Typescript Type 'typeof moment' is not assignable to type 'Moment'. Property 'format' is missing in type 'typeof moment'.
我自己在Angular中使用Moment的版本
NPM I瞬间——保存
import * as _moment from 'moment';
...
moment: _moment.Moment = _moment();
constructor() { }
ngOnInit() {
const unix = this.moment.format('X');
console.log(unix);
}
首先导入moment作为_moment,然后声明类型为_moment的moment变量。初始值为_moment()的Moment。
简单地导入moment不会给你任何自动补全,但如果你将声明type moment interface from _moment namespace from 'moment' package initialized with moment namespace invoked _moment()会给你自动补全moment的api。
我认为这是使用moment而不使用@types类型或angular提供程序的最具角度的方式,如果你正在寻找像moment这样的普通javascript库的自动完成。
对于Angular 7+(也支持8,9,10,11):
1:通过命令npm Install moment——save安装moment
2:不要在app.module.ts中添加任何东西
3:只需要在你的组件或任何其他文件的顶部添加import语句,就像这样:import * as moment from 'moment';
4:现在你可以在代码的任何地方使用moment。就像:
myDate = moment(someDate)。格式(“MM / DD / YYYY HH: MM”);