ui-route参数$ location.path

时间:2014-10-07 19:40:23

标签: angularjs angular-ui-router

有人试图通过带有ui-route的$ location.path更改视图,但是带有参数吗?

我正在尝试这样做,但它不起作用。我认为这来自我的app.js路由定义不起作用

我想要的是当我更改为'show-instance'(总是带有id)时,我被重定向到editing-instance.html。

controller.js

.saveShow($scope.spectacle)
        .then(function (data) {
            if ($scope.spectacle.ShowId === null) {
                $location.path('show-instance/' + data);
            }
            else {
                $location.path('listing-shows');
            }
        })

在我的app.js

$stateProvider.state('show-instance', {
    url: '/show/instance/:eventId',
    templateUrl: 'show/editing-instance/editing-instance.html'
});

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

使用UI路由器附带的$location提供程序,而不是使用$state

$state.go("show-instance", {
       eventId: "123"
});

答案 1 :(得分:0)

$ state.go是使用ui.router时的最佳方法。但是,如果您需要使用$ location,则不要使用状态名称进行转换。请改用网址。  $location.path('/show/instance/data')