ui-router上的可选参数问题

时间:2016-12-08 10:58:50

标签: angularjs angular-ui-router optional-parameters ui-sref

这是我的路线:

.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(未经授权)

N.B:

*我尝试过:壁球,可选参数([:param]),正则表达式..但没有任何效果

*我正在使用Angular 1.3.6,ui-router 0.2.11

1 个答案:

答案 0 :(得分:0)

你可以使用它。

 .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>