我有一个可以工作的 angular2 Componen
t。
我为某些服务实现了一个类(如果重要的话,使用 ng.core.Class
)。
将我的服务注入(inject)我的 Component
的最少步骤是什么?我应该在引导函数中包含我的服务吗?我应该使用 ng.core.Inject
还是 ng.core.Injectable?
目前我所有的实验都失败了。
最佳答案
您可以非常简单地做到这一点。只需创建一个类并通过 providers
属性或通过 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();
}]
});
或者通过bootstrap
ng.platform.browser.bootstrap(Component, [Service]);
这是一个 example所以你可以看看它。
引用
- Class (您可以在评论中找到它的一些用法示例)
关于javascript - 如何在普通 ES5 (Javascript) 中向 Angular 组件注入(inject)自定义服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532138/