2016-10-03 10 views
2

は私が残りfunctions.Iにおけるので、このAngularJSのキー値ペアが既に存在していたURLにキー値ペアを追加するにはどうすればよいですか?

$scope.OnItemClick = function (bedroom) { 
    $location.path("/builders/"+r.id).search({bedrooms:bedroom}); 
} 

のようなURLを既存のキーと値のペアをクリックfunctions.In第一のクリック機能を追加しているが、既存のURL

をに基づいて、余分なキーと値のペアを追加します
$scope.range = function (range) { 
    $location.path("/builders/"+r.id).search({budget:range}); 
} 

$scope.status = function (status) { 
    $location.path("/builders/"+r.id).search({status:status}); 
} 

私はキー値のペアを追加しようとしましたが、このように乗っています。

1st click : ../#/builders/1?bedrooms=1 
2nd click :../#/builders/1?budget:5(overriding) 
3rd click :../#/builders/1?status:9(overriding) 

ので、私は、関数をクリックするに基づいて、このようにやりたい:

../#/builders/1?budget=5&bedrooms=1&status=9 
../#/builders/1?bedrooms=1&status=9&budget=5 
../#/builders/1?bedrooms=1&budget=5&status=9 
+1

それはそう。 – Claies

+0

このURL "/builders/"+r.idは私にとっては問題ありませんが、私の問題は/#/ builers/1?budget = 5&bedrooms = 1&status = 9です。 location.search(key、value)を使用してペアiを追加しましたが、残りのものでオーバーライドしました – user3686794

+0

それはそうではありません...そのパスを使用しているため、すべてのボタンに唯一の '.search()あなたの現在のパスではなく、それは正しいURLかもしれませんが、これをすべての単一の機能に入れるのは間違いです。 – Claies

答えて

1
現在 URLの

$場所リターン検索部。

あなたはこのような何かを行うことができます:あなたは、むしろ「/ビルダー/」+ r.id`たび `よりも、現在のパスを使用するように

$scope.range = function (range) { 
    var current = $location.search(); 
    current.budget = range; 
    $location.search(current); 
} 
+0

thanq @alexander – user3686794

関連する問題