2017-05-10 100 views
0

我正在用角1.6.x版和UI路由器1.0.x的項目角UI路由器變更網址沒有控制器重裝

我想改變瀏覽器的URL而不重新加載狀態,這樣做我嘗試這樣做:

$state.transitionTo($state.$current.name, {param1: "value"}, { 
       location: true, 
       inherit: true, 
       relative: $state.$current, 
       reload: false, 
       //Seems to be deprecated... 
       notify: false 
      }); 

我只是想改變URL中的參數1值,但transitionTo重載我目前的狀態,因此破壞並重新創建我的控制器。

我以前曾與ui-router 0.x和通知參數爲此工作。

我該如何使用ui-router 1.0.x來做到這一點?

謝謝!

回答

0

我認爲這是一個錯誤(使用ui路由器1.0.3)。

定義:

.state('app.order', { 
     url: '/order/:id', 
     params: { 
      id: { value: null } // id is optional 
     }, 
     ..... 

嘗試所有變體:

some_id can either be an int or null 

$state.go('.', { 
      id: some_id 
     }, { location: true }); 

$state.go('.', { 
      id: some_id 
     }, { location: "replace" }); 

$state.go('.', { 
      id: some_id 
     }, { location: true, reload: false }); 

$state.go('.', { 
      id: some_id 
     }, { location: "replace", reload: false }); 
+0

謝謝您的回答,但他們沒有工作 – bizibiz17