2015-10-13 3 views
0

У меня есть эта кнопка: HTML:angularjs: отключить кнопку и показать всплывающее окно вместо

<button nav-direction="back" class="button yy" ui-sref="app.result" ui-sref-active="currentNav" ng-click="navResult()"> 
     Board 
    </button> 

Я хотел бы, чтобы это отобразить всплывающее окно, если определенное условие, то я хотел бы, чтобы перейти к другому стр.

Мне нужно сохранить преимущество класса в ui-sref-active, чтобы показать, что это текущая страница.

controller.js

$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); 
    }; 
+0

И как ваш код действует в настоящее время? –

+0

На данный момент этот код идет на страницу результатов в любом случае – Louis

ответ

0

Simple. Вы просто используете метод 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.

+0

да, но дело в том, что я теряю активную функциональность ui-sref с помощью этого – Louis

+0

Ну, так как ui-sref-active потребовал бы отключение кнопки в любом случае, вы могли бы использовать 'ng-class 'вместо этого добавлять и удалять классы? – OceansOnPluto

+0

Я думаю, я мог бы, не могли бы вы показать мне в своем коде, пожалуйста? – Louis

Смежные вопросы