Проблема с необязательными параметрами на ui-router

Вот мой маршрут:

.state('befyne.front.pages', {
    url: '/:rubrique/:sousRubrique/:pageSlug',
    templateUrl: 'components/frontoffice/pages/views/page.html',
    controller: 'FrontPageCtrl',
})

Вот ссылка с двумя параметрами:

<a ui-sref="befyne.front.pages({rubrique : menuRb.slug, sousRubrique : menuRb2.slug, pageSlug : p2.slug})">{{p2.title}}</a>

Вот ссылка только с одним параметром:

<a ui-sref="befyne.front.pages({rubrique : menuRb.slug, pageSlug : p.slug})">{{p.title}}</a>

Ссылка с одним параметром работает иначе, а другая с двумя параметрами - нет, и я получаю эту ошибку, когда нажимаю на нее:

http://localhost:5000/api/pages/[object%20Object] 401 (не авторизован)

NB:

* Я пробовал: сквош, необязательный параметр ([:param]), регулярное выражение... но ничего не помогло

* Я работаю с Angular 1.3.6, ui-router 0.2.11

1 ответ

Вы можете использовать это.

 .state('befyne.front.pages', {
        url: '/pages',
        params: {
                rubrique: null,
                sousRubrique: null,
                pageSlug: null
            },
        templateUrl: 'components/frontoffice/pages/views/page.html',
        controller: 'FrontPageCtrl',
    })

    <a ui-sref="befyne.front.pages({rubrique : menuRb.slug, sousRubrique : menuRb2.slug, pageSlug : p2.slug})">{{p2.title}}</a>
Другие вопросы по тегам