2014-10-07 65 views
2

任何人都試圖通過$ location.path用ui-route更改視圖,但使用參數?

我試圖做到這一點,但它不起作用。我認爲這是從我的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' 
}); 

感謝您的幫助。

回答

3

而不是使用$location的,使用$state供應商自帶的UI路由器:

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

非常感謝。它按預期工作。 – 2014-10-07 20:03:05

+1

@sma我需要在重定向到頁面後重新加載頁面。如何在ui-router上做到這一點。我已經嘗試過'$ state.go('dashboard.places.list',{},{reload:true});'它重定向到特定的視圖,但不重新加載 – codelearner 2016-03-31 07:37:42

0

$ state.go是在使用ui.router的最佳方法。但是,如果您需要使用$ location,則不要使用狀態名稱進行轉換。改爲使用網址。 $location.path('/show/instance/data')