我想保留查詢字符串,而導航:如何在angularjs中導航期間保持查詢字符串?
http://localhost/#/test/page1?param=123
我的導航鏈接如下:
<a ng-href="test/page2>
當我點擊鏈接,網址更改爲:http://localhost/#/test/page2
和查詢字符串被刪除。
問題:我該如何保留查詢?
我想保留查詢字符串,而導航:如何在angularjs中導航期間保持查詢字符串?
http://localhost/#/test/page1?param=123
我的導航鏈接如下:
<a ng-href="test/page2>
當我點擊鏈接,網址更改爲:http://localhost/#/test/page2
和查詢字符串被刪除。
問題:我該如何保留查詢?
$scope.$on('$locationChangeStart', function(event, next, current) {
//next: holds the new Url
//current: holds the old Url
});
那麼以及如何更改目標網址?我嘗試了以下內容,它會更改'next'變量,但瀏覽器URL不會*更改! 'next = next +「?」 + current.split('?')[1]' – membersound
function(string1){string1 = string1 +「anything」}永遠不會改變'string1') –
如果你很高興,不使用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>
什麼是使用''的問題? –
我從用戶輸入中得到查詢,我沒有自己定義查詢。因此我必須保留它。 – membersound
您可以使用'$ locationChangeStart'回調並將查詢字符串添加到URL – Tushar