如何在静态方法中使用注入服务
How to use injected services in static methods
我想同时使用 angularjs 和打字稿。
我正在尝试使用打字稿创建 Orm factory
并遇到一些问题。
我将工厂 class 定义为:
class OrmModel implements IOrmModel {
static $inject = ['$http', '$q', 'config'];
private name:string;
private isNewRecord:boolean = false;
constructor(public $http:ng.IHttpService, private $q:ng.IQService, private config:Object) {
//...
}
static findAll(params:ISearchParams, relations:string[]):ng.IPromise<OrmModel> {
//...
}
}
这里我定义了工厂。
OrmModule:ng.IModel = angular.module('core.orm', []);
OrmModule.factory('OrmModel', ['$http', '$q', OrmModel]);
如何在 findAll()
方法中使用 $http
或 $q
?
要生活在 angular 生态系统中,单例应该是服务。所以将 findAll
函数移到它自己的服务中。这样它就可以访问其他服务,如 $http
和 $q
。
我想同时使用 angularjs 和打字稿。
我正在尝试使用打字稿创建 Orm factory
并遇到一些问题。
我将工厂 class 定义为:
class OrmModel implements IOrmModel {
static $inject = ['$http', '$q', 'config'];
private name:string;
private isNewRecord:boolean = false;
constructor(public $http:ng.IHttpService, private $q:ng.IQService, private config:Object) {
//...
}
static findAll(params:ISearchParams, relations:string[]):ng.IPromise<OrmModel> {
//...
}
}
这里我定义了工厂。
OrmModule:ng.IModel = angular.module('core.orm', []);
OrmModule.factory('OrmModel', ['$http', '$q', OrmModel]);
如何在 findAll()
方法中使用 $http
或 $q
?
要生活在 angular 生态系统中,单例应该是服务。所以将 findAll
函数移到它自己的服务中。这样它就可以访问其他服务,如 $http
和 $q
。