AngularJS - Как изменить маршрут, только если что-то верно? [Дубликат]

0

Я использую ngRoute от AngularJS.

У меня есть следующий код:

(...)
    $routeProvider
        .when('/some-page', {
            templateUrl: 'some-page.html',
            controller: 'SomeController'
        })
(...)

И я хочу открыть /some-page если условие (например, $scope.isOpenned) истинно. В противном случае он должен перенаправить на /other-route

  • 0
    Это не будет работать так, как вы хотите, используя $routeprovider , так как маршруты обрабатываются до того, как станут доступны контроллеры (и, следовательно, до того, как будет $scope.isOpened ). Вы должны будете контролировать это на уровне HTML или на уровне контроллера.
Теги:
routes
ngroute

1 ответ

0

Как насчет чего-то подобного?

<div>
 <a ng-hide="!yourBool" href="#/some-page">Link if True</a>
 <a ng-hide="yourBool" href="#/other-route">Link if False</a>
</div>

<script src="vendors/angular.min.js"></script>
<script>
 angular.module('app', [])

 .controller('AppCtrl', ['$scope', function($scope) {

  $scope.yourBool = false;

 }]);
</script>
  • 0
    Это не связано с моим вопросом.
  • 1
    это связано с вашим вопросом, так как код демонстрирует , как использовать ng-hide генерировать ссылку условно. как я уже упоминал в моем другом комментарии, это пример того, что требуется, если вы хотите получить доступ к $scope .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню