2015-09-22 46 views
1

我想保留查詢字符串,而導航:如何在angularjs中導航期間保持查詢字符串?

http://localhost/#/test/page1?param=123

我的導航鏈接如下:

<a ng-href="test/page2>

當我點擊鏈接,網址更改爲:http://localhost/#/test/page2和查詢字符串被刪除。

問題:我該如何保留查詢?

+1

什麼是使用''的問題? –

+0

您可以使用'$ locationChangeStart'回調並將查詢字符串添加到URL – Tushar

回答

0
$scope.$on('$locationChangeStart', function(event, next, current) { 
//next: holds the new Url 
//current: holds the old Url 
}); 

更多參考: https://docs.angularjs.org/api/ng/service/ $位置

+0

那麼以及如何更改目標網址?我嘗試了以下內容,它會更改'next'變量,但瀏覽器URL不會*更改! 'next = next +「?」 + current.split('?')[1]' – membersound

+0

function(string1){string1 = string1 +「anything」}永遠不會改變'string1') –

1

如果你很高興,不使用NG-HREF你可以很乾淨地做到這一點,只需使用$ location.path()這樣的:

在你的控制器聲明函數,最終做到這一點:

$scope.sendToNewPlace = function (path) { 
    $location.path(path); 
} 

(不要忘記注入$位置到您的控制器(或W在這裏,你最終將$ location.path()調用)。

然後改變你的鏈接上使用的NG-點擊這樣的:

<a href="#" ng-click="sendToNewPlace('test/page2');">page2, passing querystring</a> 
相關問題