angularjs:禁用按钮并显示弹出窗口

时间:2015-10-13 13:44:41

标签: angularjs ionic

我有这个按钮: HTML:

  $scope.navResult = function (){
    console.log(sessionService.get('computed'));
    if (sessionService.get('computed')) {
      $scope.go('app.result');
    } else {
      //popup to user to tap on a board
      //$scope.go('app.compute');
      var popupConfig = {
        title: 'Beware! ;)',
        template: 'Tap on a board below'
      };
      var popup = $ionicPopup.show(popupConfig);
      ClosePopupService.register(popup);
    }
  }


  $scope.go = function ( state ) {
    // console.log("go has been launched with : "+ state)
    $state.go( state );
  };

如果某个条件是,我希望它显示一个弹出窗口,否则我希望它转到另一个页面。

我需要在ui-sref-active中保留该类的好处,以表明这是当前页面。

controller.js

{{1}}

1 个答案:

答案 0 :(得分:0)

简单。您只需使用ng-click方法而不是ui-sref,然后从那里进入状态。

<button nav-direction="back" ng-class="{'your-class':classCondition}" class="button yy" ng-click="navResult()">
      Board
</button>

然后在你的控制器......

$scope.navResult = function(){
    if(something){
       $scope.classCondition = false;
       //code to display popup here
    } else {
        $state.go('app.result')
    }
}

您可以将任何有效状态传递到$ state.go,因此如果您想要在重定向到另一个页面之前检查条件并执行某些逻辑,请在$ scope方法中使用它而不是仅使用直接ui -sref。