我有一个 config.prop 文件,该文件是从 ngConfig.js 文件中调用的,该文件是一个服务文件。此prop文件包含我在第二个服务文件 ngContent.js 中需要的URL。
这些文件是从解决单独调用的。
$routeProvider.
when('/login', {
templateUrl: 'views/login.html',
controller: LoginController,
resolve: {
urlData: function(Config) {
return Config.prop().then(function(response) {
return response;
});
},
contentData:function(Content){
return Content.prop().then(function(response){
return response;
});
}
}
})
我从 urlData 获得的响应,即 ngConfig.js 解析我的响应是 config.prop 的内容。我在 ngContent.js 文件中需要此响应。
ngConfig.js 的内容为
angular.module('ngConfig', [])
.service('Config', function ($http, $rootScope, $document) {
//API calling method for all method
this.prop = function () {
try {
//API calling
var promise = $http({
method: 'GET',
dataType: "application/json",
data: 'json',
cache: false,
url: 'config.prop',
}).then(function (response) {
return response;
}, function (response) {
return response;
});
} catch (ex) {
return ex;
}
return promise;
};
});
ngContent.js 的内容为
angular.module('ngContent', [])
.service('Content', function ($http, $rootScope, $document) {
//API calling method for all method
this.prop = function () {
try {
//API calling
var promise = $http({
method: 'GET',
dataType: "application/json",
data: 'json',
cache: false,
url: API_URL
}).then(function (response) {
return response;
}, function (response) {
return response;
});
} catch (ex) {
return ex;
}
return promise;
};
});
API_URL 出现在 config.prop 文件中,该文件是从 ngConfig.js 文件中调用的。
我希望我能够清楚地表达我的问题。
提前致谢。
答案 0 :(得分:0)
您可以将 urlData 传递给contentData,然后将其传递给 Content.prop()。
contentData: function(Content, urlData){
return Content.prop(urlData).then(function(response){
return response;
});
}
的修改
这不适用于 $ routeProvider ,您必须使用ui-router的 $ stateProvider 。 我用它并且它有效。使用方法与上面讨论的相同。