使用ui-router的angularjs,状态变得困惑

时间:2017-01-05 14:02:17

标签: javascript angularjs angular-ui-router

我有2个州; viewOrder saveOrder 。他们的定义如下:

$stateProvider.state('viewOrder', {
    url: "/orders/:orderNumber",
    templateUrl: 'tpl/orders/view.html',
    controller: 'ViewOrderController',
    controllerAs: 'controller'
});

$stateProvider.state('saveOrder', {
    url: '/orders/save?orderNumber',
    templateUrl: 'tpl/orders/save/index.html',
    controller: 'SaveOrderController',
    controllerAs: 'controller'
});

当我使用$state.go('saveOrder')时,它会感到困惑,并认为我正在尝试查看订单,并认为 / save 是实际的订单号。 有没有办法可以保留我的网址,但是停止混乱?

2 个答案:

答案 0 :(得分:2)

试试这个,我在saveOrder中添加了带冒号的url param ..

getCatalog(['UserProfile', 'Role'])

答案 1 :(得分:0)

您的$ state.go(' saveOrder')正在更改,不带参数。

像这样更改$state.go("saveOrder", { "orderNumber": 123});

$stateProvider.state('viewOrder', {
    url: "/orders/:orderNumber",
    templateUrl: 'tpl/orders/view.html',
    controller: 'ViewOrderController',
    controllerAs: 'controller'
});

$stateProvider.state('saveOrder', {
    url: '/orders/save/:orderNumber',
    templateUrl: 'tpl/orders/save/index.html',
    controller: 'SaveOrderController',
    controllerAs: 'controller'
});