Приложение Angularjs не открывает настроенный модал - PullRequest
7 голосов
/ 06 марта 2019

Я создаю приложение с angularjs, в котором мне нужно показать страницу, а затем открыть модальное окно с подробной информацией, когда пользователь вставляет URL.

Конфигурация маршрутизатора выглядит следующим образом:

.state('main.legalentitites', {
    url: '/products/{productId:string}',
    views: {
        'content@': {
            templateUrl: 'app/views/productdetail.html',
            controller: 'productDetailCtrl',
        },
    },
})
.state('main.products.add', {
    url: '/products/{productId:string}/add',
    onEnter: function($state, $modal) {
        $modal
            .open({
                templateUrl: 'app/views/productModal.html',
                resolve: {},
                controller: 'ProductCtrl',
            })
            .result.then(function(result) {
                if (result) {
                    return $state.transitionTo('main.products')
                }
            })
    },
})
.$urlRouterProvider.otherwise(function($injector, $location) {
    var $state = $injector.get('$state')
    $state.go('main.home')
})

Когда я ввожу URL https://localhost:44821/products/6cbc799a-fdc8-4e4d-ac27-0a5165423641/add, он не переходит на страницу и модал не открывается.В консоли также нет ошибок.Это всегда идет к иначе настроенной части.В чем может быть проблема?

1 Ответ

0 голосов
/ 12 марта 2019

Документация говорит:

'/ user /: id' - соответствует '/ user / bob' или '/ user / 1234 !!!' или даже '/ user /', но не '/ user' или '/ user / bob / details'. Второй сегмент пути будет записан как параметр 'id'.

и

'/ user / {id}' - То же, что и в предыдущем примере, но с использованием синтаксиса фигурных скобок.

Поэтому я предлагаю вам изменить URL-адрес с '/ products / {productId: string} / add' на '/ products / add / {productId: string}'. Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...