0
我有js文件可以說:在那裏我已經定義了根範圍變量並分配一定的價值,像這樣login.js:如何使用角度js中的rootcope將值從一個js文件傳遞到另一個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,但沒有幫助。請讓我知道如果我錯過了什麼。提前謝謝你。
使用$ rootScope。$ on和$ rootScope。$ emit來控制器之間進行通信;就我所知,只是向$ rootScope添加了一個對象並不起作用。 –