con $ location.search (): cómo eliminar un parámetro de la url cuando es nulo
$location.search()
para establecer una url
el parámetro de búsqueda que se pasa a lasearch()
Se establece mediante un formulario. seleccionar y deseleccionar un elemento hace que algunos valores de los parámetros sean "nulos" y, por lo tanto, la url se vea así:
myapp.com/search?type=text¶meter=null
así que me gustaría eliminar esos parámetros "nulos" de la url. En la documentación, hay un "paramValue" que se puede pasar como segundo parámetro a .search (search, paramValue):Si el valor esnull
, el parámetro será borrado.
pero no puedo hacer que esto funcione ... ¿alguna sugerencia?
editar: Aquí hay una solución basada en la explicación de @BKM.
para eliminar todos los parámetros que sonnull
, es necesario recorrer todos ellos y probar cada uno, así:
for (var i in search) {
if (!search[i]) $location.search(i, null);
}
$location.search(search);