gpt4 book ai didi

javascript - 如何在任何 Controller 之前执行 Run 函数

转载 作者:行者123 更新时间:2023-12-03 09:26:16 25 4
gpt4 key购买 nike

我正在使用 AngularJS 制作我的第一个应用程序,我希望 run 函数在任何 Controller 之前执行。

我的运行函数如下所示:

.run(function ($rootScope,authentification) 
{

teamsFactory.sendAuthent().then(function(response)
{
$rootScope.authentdata=response.data;
});
})

我进行身份验证的服务:

 teams.sendAuthent= function(DeviceID) {  
return $http({method:"POST",url:http://myserver.com/authentification",headers: {'X-SocialAPI-Service-Name': 'auth'}})
.then(function(aResponse)
{
var deferred=$q.defer();
deferred.resolve({data:aResponse.data});
return deferred.promise;
});
}

这是我使用 rootScope 数据的 Controller :

.controller('home', function($rootScope,$scope, $http,) 
{



alert($rootScope.authentdata.token);



})

但这不起作用,它说 autehndata 未定义,因此 Controller 在 run 函数之前执行,如何解决这个问题?

最佳答案

你可以试试这个,

$rootScope.$watch('authentdata', function(n, o) {
if(angular.isDefined(n) {
alert($rootScope.authentdata.token);
// or alert(n.token);
}
}

关于javascript - 如何在任何 Controller 之前执行 Run 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com