AngularJS - Ruta - Cómo hacer coincidir la estrella (*) como ruta
-
12-12-2019 - |
Pregunta
Estoy creando una aplicación de visualización de recursos, pero el problema es que intenté hacer coincidir when("/!/:resourceUrl")
.
Funciona bien si la URL del recurso es algo así como /path
, pero ¿cómo puedo hacer algo como un /path/to/the/resource
.
No sé cuántos caminos tomará, así que no puedo hacerlo. .when("/!/:path1/:path2/:path3")
.
¿Algunas ideas?
Solución
A partir de angular-1.2 puedes hacer esto:
when("/!/:resourceUrl*")
http://code.angularjs.org/1.2.0/docs/api/ngRoute.$routeProvider
En particular, la documentación da el siguiente ejemplo:
Por ejemplo, rutas como /color/:color/largecode/:largecode*\/edit
coincidirá /color/brown/largecode
/code/with/slashs/edit
y extraer:
color: brown
largecode: code/with/slashs
Otros consejos
Por ahora, AngularJS no admite expresiones regulares en las rutas.
Consulte estos enlaces: https://github.com/angular/angular.js/issues/918, https://github.com/angular/angular.js/pull/972