Javascript 无法使用URL导航到ui路由器状态

Javascript 无法使用URL导航到ui路由器状态,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在使用ui路由器开发一个简单的角度应用程序。我有几个州可以选择并编辑关于出版商的信息。相关配置: .state('select-publisher', { url: '/select-publisher', templateUrl: '/Content/superadmin/src/templates/publishers/publishers.html' })

我正在使用ui路由器开发一个简单的角度应用程序。我有几个州可以选择并编辑关于出版商的信息。相关配置:

            .state('select-publisher', {
                url: '/select-publisher',
                templateUrl: '/Content/superadmin/src/templates/publishers/publishers.html'
            })

            .state('publisher', {
                abstract: true,
                url: 'publisher/{id:int}',
                templateUrl: '/Content/superadmin/src/templates/publishers/publisher.html'
            })
            .state('publisher.details', {
                url: '/details',
                templateUrl: '/Content/superadmin/src/templates/publishers/details.html'
            })
            .state('publisher.ad-tags', {
                url: '/ad-tags',
                templateUrl: '/Content/superadmin/src/templates/publishers/ad-tags.html'
            })
            .state('publisher.native-ads', {
                url: '/native-ads',
                templateUrl: '/Content/superadmin/src/templates/publishers/native-ads.html'
            })
在“选择发布者”状态中,我有一个可用发布者的大列表。它们中的每一个都绑定到一个ng click事件,该事件在我的控制器中触发以下函数:

 $scope.selectPublisher = function(publisher) {
     publisherService.setSelectedPublisher(publisher);
     $state.go('publisher.details', {id: publisher.Id});
 };
这很好,带我到publisher.details状态并呈现正确的视图。此时,我浏览器中的URL指向localhost:1337/superadmin/publisher/39/details,其中39是我选择的发布者的ID

问题是,如果我刷新此页面,或试图通过将URL从应用程序的另一个区域粘贴到浏览器中来直接导航到该页面,我总是会返回到“选择发布者”状态。我希望能够配置我的状态,以便我能够导航到详细信息状态或基于URL的任何其他状态

值得注意的是,在我的所有状态之后,我确实定义了一条全面覆盖的路线:

$urlRouterProvider.otherwise('/select-publisher');

我假设由于某种原因触发了此操作,但我无法解释为什么导航在我的应用程序中使用$state.go(正如我在控制器中指出的)以及在HTML模板中使用ui sref指令,但不是直接导航到URL。

可能是因为缺少斜杠URL:/publisher/{id:int}

你的完整URL是什么样子的?它已经在问题中发布了,可能是因为缺少斜杠URL:'/publisher/{id:int}'?@lujcon Wow。。。谢谢,伙计,真不敢相信我没发现。有时候你只需要一双眼睛。如果你加上这个作为答案,我会把它标记为正确的;我很高兴能帮上忙。