我想加载一个不同的网页(如:google.com)基于AngularJS应用程序中的REST API的响应之前任何HTML加载默认视图的AngularJS应用程序。我想要加载HTML加载之前不同的网页 - AngularJS
我已经尝试在工厂中进行REST服务调用,并在应用程序的.run函数中使用响应,但在页面重定向之前,我能够看到Angular应用程序的HTML视图。
var app = angular.module('myApp',[]);
app.run(function(myService,$window) {
myService.someFunc().then(function(data){
$window.location.href = 'http://www.google.com';
});
});
app.factory('myService',function($http,$window,$q){
var self = this;
this.someFunc = function someFunc(){
var deffered = $q.defer();
$http.get('someAPI').success(function(data){
deffered.resolve(data)
}).error(function(error){
deffered.reject(error)
});
return deffered.promise;
}
return self;
}):
你也许可以使用ngCloak来隐藏HTML,直到所有的东西都被加载并被处理了? – chris22smith
要么在路由器中使用解析器,要么在回调中使用角度引导应用程序和手动引导应用程序进行请求。路由器解析延迟加载控制器和模板。尽管最好是展示一些东西 – charlietfl
@ chris22smith:如果我是正确的,ng-cloak用于防止Angular html模板被浏览器以原始(未编译)形式简单显示,而您的应用程序是加载。但是我不希望任何东西加载之前,我有来自REST API的响应。感谢您的建议 –