//from most to least verbose, but it is all the same in the end.
(function() {
var module = angular.module("myApp.myModel", []);
var MyModel = function MyModel() {
this.asyncService = null;
this.someApi = function() {
return this.asyncService.getStuff(); //promise?
}
}
var myModelProvider = Class.extend({
model: new MyModel();
$get: ['asyncService', function (asyncService) {
model.asyncService = asyncService; //dependency injection
return model; //resolved for the lifetime of app
}]
});
modules.provider('myModel', myModelProvider);
}())
// or
(function() {
var module = angular.module("myApp.myModel", []);
var MyModel = function MyModel(asyncService) {
this.asyncService = null;
this.someApi = function() {
return this.asyncService.getStuff(); //promise?
}
}
module.factory('myModel', ['asyncService', function (asyncService) {
//could do some stuff here
return new MyModel(asyncService);
}]);
}())
// or
(function() {
var module = angular.module("myApp.myModel", []);
var MyModel = function MyModel(asyncService) {
this.asyncService = null;
this.someApi = function() {
return this.asyncService.getStuff(); //promise?
}
}
module.service('myModel', ['$asyncService', MyModel]); //most simple option
}())