0
我的身體由MainController
控制。在身體中,我有另一個嵌套控制器。在我的index.html
,我具有由嵌套控制器控制的div
元件:修改子控制器內的父控制器的變量AngularJS 1.x
的index.html
<body ng-controller="MainController">
<div ng-controller="LoginController" ng-hide="isLoggedIn"></div>
<div class="navbar" ng-hide="!isLoggedIn">
<!-- A form which calls login() function inside LoginController -->
</div>
</body>
MainController:
angular.module('DemoApp')
.controller('MainController', ['$scope', function ($scope) {
$scope.isLoggedIn = false;
}]);
的LoginController
angular.module('DemoApp')
.controller('LoginController', ['$scope', '$location', function ($scope, $location) {
$scope.login = function() {
if($scope.loginCredentials.username === 'username' && $scope.loginCredentials.password === 'password') {
$scope.parent.isLoggedIn = true; /* here, how to modify this variable */
$location.path('/home');
}
};
}]);
我想要做的就是從我的嵌套控制器中更改MainController
的變量,即isLoggedIn
。我用$scope.parent
,但它顯示unknow provider parent
。如何實現這一目標?
使用$ localStorage存儲isLoggedIn。並在需要時從$ localStorage獲取。直到您手動清除密鑰之前,此數據纔可用。 –
@SharanDeSilva謝謝,我將在未來使用它。 –