javascript - 如何全局导入angular2中的Javascript库

标签 javascript angular dependency-injection angular2-providers

我正在尝试在 angular2 中导入 moment.js 库。 我找到了以下解决方案:

import {Component} from 'angular2/core';
import * as moment from 'moment';

@Component({
  selector: 'app',
  template: require('./app.component.html')
})
export class AppComponent {
  moment:any = moment;
  constructor() {}
}

但是,我不想将它导入到我拥有的每个组件中。有没有一种方法可以全局注入(inject)它,以便我可以在我的所有组件中使用它?

最佳答案

从我读到的here ,我可以在像这样引导整个应用程序时提供 momentjs 库:

import * as moment from 'moment';
import {provide} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';

bootstrap(App, [
    provide("moment", {useValue:moment})
])

然后我可以使用 DI 在我自己的组件中使用它,就像这样:

import {Component, OnInit, Inject} from 'angular2/core';

@Component({
  selector: 'app',
  template: require('./app.component.html')
})
export class AppComponent {
  constructor(@Inject("moment") private moment) {}
}

关于javascript - 如何全局导入angular2中的Javascript库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36852471/

相关文章:

javascript - 检查应用程序是否已使用 Sikuli 打开

swift - SwinjectStoryboard 容器解析不同的对象(实例)

c++ - 进行依赖注入(inject)时公开私有(private)方法

c# - 如何结合 BindBase() 和 BindAllInterfaces()?

javascript - 服务器端 javascript 函数在 mongoDB 中是否存在性能问题?

javascript - Appium:更改 Android DatePicker 值 Javascript/NodeJS

javascript - 通过带有神秘逗号的堆算法进行排列

angular - 用户输入的数据未存储在组件的变量 Angular Reactive 表单中

html - 我的第一个 Angular 应用程序没有按预期工作

angular - ionic2 rc0 中找不到组件工厂错误