48

$location.search()URLを設定するには

に渡される検索パラメータはsearch()、フォームによって設定されます。要素を選択および選択解除すると、一部のパラメーター値が「null」になるため、URL は次のようになります。

myapp.com/search?type=text&parameter=null

そのため、これらの「null」パラメーターを URL から削除したいと思います。ドキュメントには、2 番目のパラメーターとして .search(search, paramValue) に渡すことができる「paramValue」があります。値が の場合null、パラメーターは削除されます。

しかし、私はこれを機能させることができません... 何か提案はありますか?

編集:これは@BKMの説明に基づく解決策です

であるすべてのパラメータを削除するにはnull、次のように、それらすべてをループしてそれぞれをテストする必要があります。

for (var i in search) {
    if (!search[i]) $location.search(i, null);
}
$location.search(search);
4

3 に答える 3

102

この$locationサービスを使用すると、null 値を割り当てることで検索パラメーターを削除できます。

パラメータがnullの場合、'parameter'次のようにnull値を割り当てることでURLから削除できます。

$location.search('parameter', null);

それが役に立てば幸い。

于 2013-09-02T05:14:20.857 に答える
31

を使え$location.search({})ば一気にクリアできます。

于 2015-07-24T07:57:04.537 に答える