我有js文件让我们说:login.js我已经定义了根范围变量并分配了一些值,如下所示:
mainApp.controller('loginController',function($sessionStorage, $scope, $location, $window, $http, $rootScope) {
$scope.login = function() {
$http.get('http://localhost:8080/user/').then(function(response) {
$scope.users = response.data;
var len=$scope.users.length;
var i=0;
var flag="false";
for(i=0;i<len;i++)
{
if (($scope.login.userName == $scope.users[i].username) && ($scope.login.password== $scope.users[i].password))
{
$rootScope.uName1 = $scope.users[i].username;
$sessionStorage.id=$scope.users[i].id;
$sessionStorage.uName=$scope.users[i].username;
alert($scope.uName);
alert($scope.login.userName);
alert($rootScope.uName1);
//$cookieStore.put('id',$scope.users[i].id);
// alert("id="+$cookieStore.get('id'));
flag="true";
break;
}
}
在这里,我可以在“uName1”中获得价值。现在我试图在另一个js文件中访问同一个变量:“document.js”
app.controller("docCtrl",function($sessionStorage, $scope, $location, $window, $http, $rootScope){
$scope.id=$sessionStorage.id;
alert($rootScope.uName1);
这里我在警报中未定义。我也尝试过使用sessionStorage但没有帮助。如果我错过了什么,请告诉我。非常感谢你。
答案 0 :(得分:0)
$rootScope.uName1
将可用。如果你的docCtrl
控制器在ajax返回结果之前被调用,那么你将得到未定义的