TypeScript将一个角度模块插入另一个角度模块
问题描述:
这是我的一个主角度模块,其中定义了常量。TypeScript将一个角度模块插入另一个角度模块
/// <reference path="../../../thirdparty/angular/angular.d.ts"/>
var FeatureFlagsValues: ng.IModule = angular.module('feature-flags.values', []);
FeatureFlagsValues.constant('FeatureFlagValues', {});
FeatureFlagsValues.run(['$q', '$http', 'FeatureFlagValues', function (_q:ng.IQService, _http: ng.IHttpService, FeatureFlagValues: any) {
let deferred = _q.defer();
let uri = "/api/v1/features/user";
_http.get(uri)
.success(function (data) {
deferred.resolve(data);
})
.error(function (data, status) {
deferred.reject({data,status});
});
deferred.promise.then((results: any) => {
angular.forEach(results.EnabledFlags, function (key) {
FeatureFlagValues[key] = true;
});
});
deferred = _q.defer();
uri = '/api/v1/features/user?defaults=true';
_http.get(uri)
.success(function (data) {
deferred.resolve(data);
})
.error(function (data, status) {
deferred.reject({ data, status });
});
deferred.promise.then((defaultResults: any) => {
angular.forEach(defaultResults.EnabledFlags, function (key) {
FeatureFlagValues[key] = true;
});
});
}]);
这里是我的,我想用以前的模块中定义的常量另一角模块,我不知道我怎么能做到这一点。我没有找到任何好的例子。
// <reference path="./FeatureFlags.values.ts"/>
import {Endpoints as endpoints} from '../../endpointsTsModule';
import {FeatureFalgs as FF} from './FeatureFlags.service.SettingStore';
export module FeatureFlags.service {
export class FeatureFlagsService {
static $inject: string[] = ["$q", "$http", "feature-flags.values","FeatureFlagsSettingStore"];
}
}
答
如果你想使用“FeatureFlagValues”常量你需要做的“功能flags.values”模块的“另一角模块”你指的依赖。像这样:
angular.module('another', ['feature-flags.values']);
然后你就可以只注射它像这样访问它在您的服务:
export class FeatureFlagsService {
static $inject: string[] = ["$q", "$http", "FeatureFlagValues","FeatureFlagsSettingStore"];
}