我想透過run來設定一個$rootScope.userinfo,然後不同頁裡面也可以透過$rootScope.userinfo來取得目前使用者的資訊而不需要再去伺服器抓取,但是現在遇到了挺多問題。
第一次我在run中直接$http然後設定$rootScope.userinfo=response,然後在各個controller當中透過$scope.userinfo=$rootScope.userinfo來將這個userinfo抓取到當前scope中使用,但是出現了undefined的問題;
第二次我在run中使用broadcast
$rootScope.$broadcast("thisintheuserinfo", response);
然後再在controller裡面使用$on
$scope.$on("thisintheuserinfo",
function (event, msg) {
if(msg){
//$scope.usernamea = msg.user;
console.log('123')
console.log(msg)
}
else{
alert(msg)
}
});
但是出現了$on的function中的程式碼幾乎從來不會運行的問題,似乎是因為run中的那個是異步的,controller的on在broadcast開始前就開始了?無論如何,反正也是錯的多對的少。
所以不知道各位有什麼好的方法可以給我借鏡?
基本上滿足要求,可能有一丟丟副作用.