Я использую ngRoute от AngularJS.
У меня есть следующий код:
(...)
$routeProvider
.when('/some-page', {
templateUrl: 'some-page.html',
controller: 'SomeController'
})
(...)
И я хочу открыть /some-page
если условие (например, $scope.isOpenned
) истинно. В противном случае он должен перенаправить на /other-route
Как насчет чего-то подобного?
<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>
ng-hide
генерировать ссылку условно. как я уже упоминал в моем другом комментарии, это пример того, что требуется, если вы хотите получить доступ к $scope
.
$routeprovider
, так как маршруты обрабатываются до того, как станут доступны контроллеры (и, следовательно, до того, как будет$scope.isOpened
). Вы должны будете контролировать это на уровне HTML или на уровне контроллера.