我在一个 Controller 中设置一个范围变量,然后将位置更改到另一个 View 。然后在新 View 的 Controller 中,范围变量不再可访问,它声明它是“未定义的”。 我在下面添加了问题的简化版本,非常感谢任何帮助。
app.controller('loginController', function ($scope,$location){
$scope.loginUser = function (user) {
$scope.userId = "USERID";
$location.path('/view3');
}
});
View 3 的 Controller
app.controller('videoListController', function($scope){
alert("UserID: "+$scope.userId);
});
$scope.userId
的值显示为 'undefined
'。我做错了什么?
最佳答案
你也可以在 AngularJS 中使用 $rootScope
进行全局访问
看看这个
app.controller('loginController', function ($scope,$rootScope,$location){
$scope.loginUser = function (user) {
$rootScope.userId = "USERID";
$location.path('/view3');
}
});
app.controller('videoListController', function($scope, $rootScope){
alert("UserID: "+$rootScope.userId);
});
关于javascript - 范围变量不可访问(未定义)-AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23063395/