如何在纯ES5(Javascript)中向angular组件注入定制服务?

如何在纯ES5(Javascript)中向angular组件注入定制服务?,javascript,angular,ecmascript-5,angular2-services,Javascript,Angular,Ecmascript 5,Angular2 Services,我有一个工作角度2Component。 我为一些服务实现了一个类(如果需要的话,使用ng.core.class)。 将我的服务注入我的组件的最小步骤是什么?我应该在引导功能中包含我的服务吗?我应该使用ng.core.injection还是ng.core.Injectable?到目前为止,我所有的实验都失败了。你可以做得非常简单。只需创建一个类并通过提供程序属性或通过引导程序 比如说 // Alternative 1 var Service = ng.core.Class({ constr

我有一个工作角度2
Componen
t。 我为一些服务实现了一个类(如果需要的话,使用
ng.core.class
)。
将我的服务注入我的
组件
的最小步骤是什么?我应该在引导功能中包含我的服务吗?我应该使用
ng.core.injection
还是
ng.core.Injectable?
到目前为止,我所有的实验都失败了。

你可以做得非常简单。只需创建一个类并通过
提供程序
属性或通过
引导程序

比如说

 // Alternative 1
 var Service = ng.core.Class({
  constructor : function() {},
  someFunction : function() {
    console.log('Some function');
  }
})

// Alternative 2
var Service = function() {}
Service.prototype.someFunction = function() {
  console.log('Some function');
}
然后将其传递给组件

var Component = ng.core.
      Component({
        selector: 'cmp',
        template : '',
        providers : [Service]
      }).
      Class({
        constructor: [Service, function(svc) {
          svc.someFunction();
        }]
      });
或者通过引导

ng.platform.browser.bootstrap(Component, [Service]);
这是一张照片,你可以看一下

参考

  • (你可以在评论中找到它的一些用法示例)

在这个问题中,我指的是angular2的当前测试版。谢谢。就是这样。它对我不起作用的原因是,在创建它之前,我试图参考
服务
。因此,js文件加载的顺序对于这种方法很重要。@SergeyP.akaazure如果回答了您的问题,您能接受答案吗?如果我需要使用两种服务怎么办??我如何在构造函数中指定它?