ссылки за пределами ng-view перенаправляют на страницы внутри ng-view

0

Я не уверен, как назвать вопрос, но вот моя ситуация

Мой шаблон выглядит так:

├── index.html
├──...
├── аккаунт
│ ├── index.html
│ ├── авторизация
│ │ ├── login.html
│ │ ├── signup.html
│ │ └── панель приборов

Таким образом, первая страница индекса - это первая страница, вторая индексная страница содержит ng-view, которая является шаблоном для страницы входа, страницы регистрации и страницы панели мониторинга.

Я сделал:

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/login', {
            title: 'Login',
            templateUrl: 'authorization/login.html',
            controller: 'authCtrl'
        })
        .when('/signup', {
            title: 'Signup',
            templateUrl: 'authorization/signup.html',
            controller: 'authCtrl'
        })
        .when('/dashboard', {
            title: 'dashboard',
            templateUrl: 'authorization/dashboard/index.html',
            controller: 'authCtrl'
        })
        .otherwise({
            redirectTo: "/login"
        });
    }
])
.run(['$rootScope', '$location', 'apiService', function ($rootScope, $location, apiService) {...
}]);

Однако я хочу добавить две ссылки на первую страницу индекса, одну переадресую на страницу входа, а другую - на страницу регистрации. Поскольку как login.html, так и signup.html находятся внутри ng-view, я не мог использовать <a href="account"></a>, так как он перейдет только на страницу входа.

Я пытался:

<div class="nav_item_extra"><a class="loggedIn" href="account/authorization/login">Sign in</a></div>
<div class="nav_item_extra"><a class="loggedIn" href="account/authorization/signup.html">Register</a></div>

Ни один из них не работает.

Может ли кто-нибудь помочь мне, как сделать ссылки? спасибо

  • 0
    Вы должны использовать атрибут ui-sref с именем состояния вместо href. пример: ваша вторая ссылка просто пытается найти путь к шаблону вместо фактического состояния
  • 0
    @NimaMarashi Есть ли вообще без использования ui-router? Я еще не пользовался на этом сайте.

2 ответа

0
Лучший ответ

Вы пропускаете "#" (хеш-тэг на вашем href)

<div class="nav_item_extra"><a class="loggedIn" href="#/login">Sign in</a>
</div>
<div class="nav_item_extra"><a class="loggedIn" href="#/signup">Register</a>
</div>
  • 0
    о, спасибо ... я не знаю, почему я не пробовал это ... я подумал, что "#" что-то запрещено делать путь ссылки ....
  • 0
    я рад, что это помогло :) кто-то объяснил о теге '#' здесь stackoverflow.com/questions/14319967/…
0

Это должно работать:

<div class="nav_item_extra"><a class="loggedIn" href="login">Sign in</a></div>
<div class="nav_item_extra"><a class="loggedIn" href="signup">Register</a></div>
  • 0
    это не, это показывает 404, потому что это не могло найти / логин. А login.html и signup.html на самом деле хранятся в public_html / partner / account / authorization. Используя "/ login", он перейдет в мою корневую папку.
  • 0
    Есть ли какая-либо причина иметь «/» перед каждым маршрутом? почему не «логин» вместо «/ логин»? обновить мой ответ

Ещё вопросы

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