Reputation: 965
in AngularJs if you invoke service method:
app.service('nameService', function(){
this.Service = function (){console.log('hello')}
}
then you can use this service (object) : nameService.Service() so my question is how i can write function that have two arguments(name, function)
function service ( name, function ){
// how angular declare object with that value of first argument ?
}
i'm ask how to write function like service(name,fn){} ?
Upvotes: 0
Views: 1405
Reputation: 1404
AngularJs use Dependency Injection to inject service.
"service" method is available on angular object because is on his Prototype.
angular.prototype.service = ...
you can read more about prototype inheritance, MDN - Inheritance and the prototype chain
Upvotes: 1
Reputation: 109
you can use bracket notation , to get arguments value .
function service (name, fn){
var createService = function(){
return new fn()
}
this[arguments[0]] = func()
}
service('nameService',function(){
//here you can use 'this' because it's function constructor
this.getLog = function (){
console.log('hello')
}
})
//and you can user it like you want nameService.getLog()
//Console: hello
Upvotes: 1