在离子的另一个控制器中改变$ scope的值

时间:2017-01-27 06:21:02

标签: angularjs ionic-framework

我想从另一个控制器更改$ 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');
    }

我如何获得价值并从登录控制器更改它 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用ngrx管理离子2应用中的状态。它是针对Angular应用程序的RxJS驱动状态管理,受Redux启发。

如果您不想使用ngrx,可以使用events或`$ rootScope'在控制器之间进行通信。

在视图中使用$ rootScope:假设您有$rootScope.shared = {...},可以指定$scope.sharedFromRoot = $rootScope.shared并可以在视图中访问sharedFromRoot