Настройте маршрутизацию для угловых (ui.router) с параметром

0

Настройка маршрутизации для стороннего приложения с несколькими арендаторами с использованием AngularJs и UI-Router.

Например, когда пользователь вводит следующий URL-адрес, панель управления должна быть загружена для userxyz, и параметр должен поддерживаться в браузере пользователя через сеанс, чтобы пользователь мог просматривать другие гиперссылки в приложении.

http://servername.com/#/dashboard/userxyz

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

Вот код для настройки моего маршрута.

(function () {
    'use strict';

    app.config(["$stateProvider", "$urlRouterProvider",
        function ($stateProvider, $urlRouterProvider) {
            $stateProvider
                .state("dashboard", {
                    url: "/dashboard/{tenantid}",
                    templateUrl: "app/components/dashboard/dashboardView.html",
                    controller: "DashboardController"
                })

                .state("people", {
                    url: "/people/{tenantid}",
                    templateUrl: "app/components/people/peopleView.html",
                    controller: "PeopleController"
                })

                .state("contact", {
                    url: "/contact/{tenantid}",
                    templateUrl: "app/components/contact/contactView.html",
                    controller: "ContactController"
                })

                $urlRouterProvider.otherwise("/dashboard/{tenantid}");
        }]);
})();

В моем index.html у меня есть следующий код для отображения состояния в ui-view:

<div class="row" ui-view>

</div>

И мне удалось настроить гиперссылки с помощью ui-sref, вот как это делается:

<a ui-sref="dashboard">Home</a>
<a ui-sref="people">People</a>
<a ui-sref="contact">Contact</a>
  • 1
    почему бы не сохранить tenantid в сеансе или локальном хранилище?
  • 0
    Я не против попробовать! Сеанс или локальное хранилище будут храниться в браузере, пока браузер не закроется? Если да, что именно вы рекомендуете? Кстати, у меня нет страницы входа в систему для этого приложения и может не иметь. Это клиентское приложение.
Показать ещё 2 комментария
Теги:
routes
angular-ui-router
angular-ui

1 ответ

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

Лучшее пользовательское локальное хранилище сеансов для сохранения арендатора

Согласно комментариям до:

Если вам не нужна поддержка ie7 (надеюсь, что так), попробуйте использовать собственный браузер localStorage, чтобы вставить элемент localStorage.setItem('key', 'value') для извлечения localStorage.getItem('key')

см. localStorage браузера localStorage здесь. Поддержка локального хранилища данных

  • 0
    Я беру арендатора с целевой страницы (на примере панели управления), затем сохраняю в локальном хранилище. Эта информация извлекается на соответствующих контроллерах по всему приложению. Спасибо за помощь! :)

Ещё вопросы

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