我想在加载HTML之前加载一个不同的网页 - AngularJS

时间:2016-09-14 20:19:25

标签: javascript html angularjs rest

我希望在为AngularJS应用的默认视图加载任何HTML之前,根据AngularJS应用中REST API的响应加载不同的网页(如:google.com)。

我已经尝试在工厂中进行REST服务调用并在我的应用程序的.run函数中使用响应,但在页面重定向之前我能够看到Angular App的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;
}):

1 个答案:

答案 0 :(得分:0)

我认为这是一个你不应该用艰难的方法解决的问题。从角度来看似乎很难,但更重要的是,这对用户来说是一种糟糕的体验。

我建议在页面加载时使用整页覆盖,为用户写一些不错的东西,也许是ajax加载图标等等,这样用户就知道他在等待某个原因并且页面不仅慢。然后,当你的ajax调用返回时,它会消失,每个人都很高兴:)