簡體   English   中英

無法使用URL導航到ui-router狀態

[英]Can't navigate to ui-router state with URL

我正在使用ui-router進行簡單的角度應用。 我有幾種狀態可以選擇然后編輯有關發布者的信息。 相關配置:

            .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'
            })

在select-publisher狀態中,我有一個很大的可用發布者列表。 它們中的每一個都綁定到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從應用程序的其他區域粘貼到瀏覽器中直接導航到該頁面,我將始終返回到select-publisher狀態。 我希望能夠配置我的狀態,以便我能夠基於URL導航到詳細狀態(或任何其他狀態)。

值得注意的是,我確實在所有狀態之后都定義了捕獲所有路徑:

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

我假設由於某種原因這是觸發但我無法$state.go為什么導航在我的應用程序中使用$state.go因為我在我的控制器中指示以及在我的HTML中使用ui-sref directive模板,但不是通過直接導航到URL。

也許是因為缺少斜杠網址: /publisher/{id:int}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM