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.
-
I refer to current beta version of angular2 in this question.Sergey P. aka azure– Sergey P. aka azure2015-12-30 15:16:25 +00:00Commented Dec 30, 2015 at 15:16
Add a comment
|
1 Answer
You can do it super simple. Just create a class an pass it through providers property or through bootstrap
For example
// 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');
}
Then pass it to the component
var Component = ng.core.
Component({
selector: 'cmp',
template : '',
providers : [Service]
}).
Class({
constructor: [Service, function(svc) {
svc.someFunction();
}]
});
Or through bootstrap
ng.platform.browser.bootstrap(Component, [Service]);
Here's an example so you can take a look at it.
Reference
- Class (you can find some examples of its usage in the comments)
3 Comments
Sergey P. aka azure
Thanks. It works that way. The reason it not worked for me is that I was trying to refer to
Service before I created it. So the order of js files loading is important with such approach.Günter Zöchbauer
@SergeyP.akaazure can you please accept the answer if it answers your question?
Midhun Mohan
what if i need to use two services?? how can i specify that in constructor?