我有一个角度应用程序。在我的所有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('!');
}]);
答案 0 :(得分:0)
在每个块中,您可以定义一个解析块。该块将指定在状态将被渲染之前将被解析的数据。
然后你可以简单地在控制器内注入该属性。
这是一个例子:
when("/home" ,
{
templateUrl : "/home.html",
resolve: {
MY_DATA: function() { return 'Hello World!'; }
}
})
然后只需将MY_DATA注入与家庭相关的控制器内,你就应该拥有该值。
我希望它有所帮助