2017-03-22 70 views
1

我想保留一些查詢字符串在我的網址點擊後(並刷新頁面請查詢字符串,同時重新加載頁面AngularJS

我使用:

$state.reload(); 

,但它不是保留網址quertytring我在頁面上按鈕,並從「buttonControler」點擊後,我只是想刷新頁面,但是URL應該url.com/buttonPage/?param1&param2

打開我也試過:

var url = $location.absUrl().split('?')[0]; 
$window.location.href = url +"?param" 

...但基本上這是相同的網址,它不刷新,導致刷新後,我得到了一個新的數據。

+0

請添加您的UI路由器配置和您點擊的完整路線。 – lin

+0

@lin更新了問題。 - 只是想刷新頁面,並保持查詢字符串 – Scopi

+0

請檢查我的答案,這可以幫你。 – lin

回答

0

這應該與$state.reload()一起使用,如果您在重新加載的路由中配置了狀態參數。 $state.reload()是等價於:

$state.transitionTo($state.current, $stateParams, { 
    reload: true, 
    inherit: false, 
    notify: true 
}); 

這樣一來,如果你的路線是url.com/buttonPage/?param1=var&param2=var2你的狀態定義應該是這樣的:

$stateProvider 
    .state('buttonPage', { 
     url: '/buttonPage', 
     params: { 
      param1: null, 
      param2: null 
     }, 
     templateUrl: 'someTemplate.html 
    }) 

有關途徑處理PARAMS欲瞭解更多信息pleace檢查UI-router routing documentation

相關問題