Как вернуться к исходному UI-маршруту, используя один и тот же вид на двух разных маршрутах - PullRequest
0 голосов
/ 24 апреля 2020

Я немного озадачен этой проблемой ...

У меня есть одно представление, которое я использую для двух разных маршрутов. Один называется Активации, а другой - Мои активации. Активации - это полный список, тогда как Мои активации - это список только для текущего пользователя. Единственный способ добиться этого - правильно настроить два отдельных маршрута, в которых я передаю либо значение null, либо значение id.

.state( 'giftcards.list', {
    url: '/list',
    resolve: {
        auth: function resolveAuthentication( AuthResolver ) {
            return AuthResolver.resolve();
        },
        userId: function() {
            return null;
        }
    },
    templateUrl: 'app/components/giftcards/giftcard.list.html',
    controller: 'GiftCardListController',
    data: {
        requiresLogin: true,
    }
})



.state( 'giftcards.mylist', {
    url: '/list?userId',
    resolve: {
        auth: function resolveAuthentication( AuthResolver ) {
            return AuthResolver.resolve();
        },
        userId: ['$stateParams', 'AuthService',
            function( $stateParams, AuthService ) {
                let _user = AuthService.getLoggedInUser();
                return _user.Id;
        }]
    },
    templateUrl: 'app/components/giftcards/giftcard.list.html',
    controller: 'GiftCardListController',
    data: {
        requiresLogin: true,
    }
})

пользователя. Примечание. отдельные маршруты, потому что моя панель навигации использует активный статус на основе текущего маршрута (ui-sref-active="active"). Использование одного маршрута означало, что оба пункта меню были выделены как активные при выборе любого из них.

В представлении giftcard.list.html он заполняет таблицу данных, которая переносит пользователя на страницу редактирования, если он щелкает по элементу. Однако, если пользователь сохраняет страницу или нажимает кнопку «Назад», он всегда перенаправляется обратно на страницу «Активации», независимо от того, были ли они в разделе «Активации» или «Мои активации».

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

...