【发布时间】:2014-11-24 14:18:29
【问题描述】:
所以在普通的旧 Angular 中,你会像这样注入工厂:
(function(angular){
"use strict";
var app = angular.module('app', []);
app.factory('MyFactory', ['$http', function($http) {
....
});
}());
现在使用 Typescript,我正在尝试像这样使用 $inject:
module Services {
export class MyFactory {
static $inject = ['$http'];
constructor(private $http: ng.IHttpService) {
}
}
}
var app = angular.module('app', []);
app.factory('MyFactory', Services.MyFactory) //<-- This does not work, never is instantiated.
app.factory('MyFactory', ['$http', Services.MyFactory]); //<-- No deal, it has constructor dependencies
// Seems you have to do this
app.factory('MyFactory', ['$http', ($http) => new Services.MyFactory($http)]);
使用 Typescript 在 Angular 中注入工厂的正确方法是什么?
【问题讨论】:
标签: angularjs typescript