[英]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.