主控制器完全加载后加载控制器

时间:2017-05-25 18:57:21

标签: angularjs controller

我有一个角度应用程序。在我的所有HTML页面中,我有2个控制器:“mainCtrl”和“thatPageCtrl”

我需要为控制器定义队列。我想首先启动mainCtrl,在完成mainCtrl的执行后,我想加载那个PageCtrl。

我正在对mainCtrl中的所有路由中的用户进行身份验证,如果身份验证为true,我想启动thatPageCtrl。我将一些数据绑定到mainCtrl中的所有页面,我需要在这些数据完全从mainCtrl绑定后启动thatPageCtrl。

我该怎么做?

我的角度配置代码:

/* Assign Angular Application Name */
var dashboardApp = angular.module("dashboardApp" , ['ngRoute' ,  'ngFileUpload']);

/* Configuration Ajax Routing */
dashboardApp.config(['$routeProvider' , '$locationProvider' ,  function($routeProvider , $locationProvider){

$routeProvider.
   when("/home" , 
      {templateUrl : "/home.html"}).
   when("/signin" , 
      {templateUrl : "/signin.html"}).
   otherwise({templateUrl : "/home.html"});

   $locationProvider.html5Mode(true);
   $locationProvider.hashPrefix('!');

}]);

1 个答案:

答案 0 :(得分:0)

在每个块中,您可以定义一个解析块。该块将指定在状态将被渲染之前将被解析的数据。

然后你可以简单地在控制器内注入该属性。

这是一个例子:

when("/home" , 
      {
  templateUrl : "/home.html",
  resolve: {
    MY_DATA: function() { return 'Hello World!'; }
  }
})

然后只需将MY_DATA注入与家庭相关的控制器内,你就应该拥有该值。

我希望它有所帮助