我想从另一个控制器更改$ scope的值,代码如下:
此视图来自app controller
<ion-item ng-show="before" menu-close ui-sref="app.login" href="">
Login
</ion-item>
<ion-item ng-show="after" menu-close ui-sref="app.orders" href="">
Orders
</ion-item>
<ion-item ng-show="after" menu-close ui-sref="app.exchange" href="">
Exchange
</ion-item>
<ion-item ng-show="after" ng-click="logout();" menu-close href="">
Logout
</ion-item>
app控制器代码:
if($rootScope.userId!=undefined){
$scope.before=false;
$scope.after=true;
}
else{
$scope.before=true;
$scope.after=false;
$state.go('app.login');
}
我如何获得价值并从登录控制器更改它 感谢
答案 0 :(得分:0)
您可以使用ngrx管理离子2应用中的状态。它是针对Angular应用程序的RxJS驱动状态管理,受Redux启发。
如果您不想使用ngrx,可以使用events
或`$ rootScope'在控制器之间进行通信。
在视图中使用$ rootScope:假设您有$rootScope.shared = {...}
,可以指定$scope.sharedFromRoot = $rootScope.shared
并可以在视图中访问sharedFromRoot
。