如何在普通 ES5 (Javascript) 中向 angular 组件注入自定义服务? [英] How to inject custom service to angular component in plain ES5 (Javascript)?

查看:27
本文介绍了如何在普通 ES5 (Javascript) 中向 angular 组件注入自定义服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个可用的 angular2 Component.我为某些服务实现了一个类(如果重要的话,使用 ng.core.Class ).将我的服务注入到我的 Component 中的最少步骤是什么?我应该在 bootstrap 函数中包含我的服务吗?我应该使用 ng.core.Injectng.core.Injectable 中的任何一个吗? 到目前为止,我所有的实验都失败了.

I have a working angular2 Component. I implemented a class for some service (using ng.core.Class if that matters). What are the minimal steps to inject my service to my Component? Should I include my service in bootstrap function? Should I use any of ng.core.Inject or ng.core.Injectable? All my experiments failed so far.

推荐答案

你可以做到超级简单.只需创建一个类并通过 providers 属性或通过 bootstrap

You can do it super simple. Just create a class an pass it through providers property or through bootstrap

例如

 // 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]);

这是一个示例,您可以查看一下.

Here's an example so you can take a look at it.

参考

  • Class(你可以找到评论中的一些用法示例)
  • Class (you can find some examples of its usage in the comments)

这篇关于如何在普通 ES5 (Javascript) 中向 angular 组件注入自定义服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆