z $ location.search (): jak usunąć parametr z adresu URL, gdy jest on pusty

$location.search() ustawić adres URL

parametr wyszukiwania, który jest przekazywany dosearch() jest ustawiany przez formularz. zaznaczenie i odznaczenie elementu powoduje, że niektóre parametry mają wartość „null”, więc adres URL wygląda tak:

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

więc chciałbym usunąć te „puste” parametry z adresu URL. W dokumentacji znajduje się „paramValue”, którą można przekazać jako drugie parametry do .search (szukaj, paramValue):Jeśli wartość wynosinull, parametr zostanie usunięty.

ale nie mogę sprawić, żeby ta praca… jakaś sugestia?

edytować: oto rozwiązanie oparte na wyjaśnieniach @BKM

aby usunąć wszystkie parametry, które sąnull, konieczne jest przejrzenie ich wszystkich i przetestowanie każdego z nich, tak jak poniżej:

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

questionAnswers(3)

yourAnswerToTheQuestion