如何在普通 ES5 (Javascript) 中向 angular 组件注入自定义服务? [英] How to inject custom service to angular component in plain ES5 (Javascript)?
问题描述
我有一个可用的 angular2 Componen
t.我为某些服务实现了一个类(如果重要的话,使用 ng.core.Class
).将我的服务注入到我的 Component
中的最少步骤是什么?我应该在 bootstrap 函数中包含我的服务吗?我应该使用 ng.core.Inject
或 ng.core.Injectable 中的任何一个吗?
到目前为止,我所有的实验都失败了.
I have a working angular2 Componen
t.
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屋!