angularjs - tutorial - ui-sref y nombres de parámetros de estado variable
ui router angularjs tutorial (5)
document ({id: document.id})
Si su estado es document /: id
Quiero mostrar un enlace como:
<a ui-sref="myState({myKey: ''my variable type value''})">
donde el nombre de estado myState
y key myKey
son variables.
¿Hay alguna manera de lograr esto?
Me encontré en la misma situación, no pude cumplir con eso, trato de mover el código usando ng-click y dentro de la función ng-click use $ stage.go y paso los parámetros, algo así como:
$scope.clickHandler = function(param){
$state.go(''state.name'',{myKey:param});
}
Creo que la solución más simple es
<button ui-sref="myState({mykey:vm.key})"> Link </button>
donde vm.key es el valor que se pasa desde el controlador. Esto evita javascript extra como se usa en la respuesta para esto. Es muy similar a la respuesta aceptada, pero la variable se usa en la etiqueta html como está, sin crear un controlador.
El ui-sref
dinámico no es compatible, pero encontré un consejo sobre el uso de la generación del enlace con el método href del servicio $ state :
<a href="{{ctrl.url(myState, myKey)}}>
url = function(myState, myKey) {
return $state.href(myState, {myKey: ''my variable type value''});
}
Cómo pasar parámetros usando ui-sref en el ui-enrutador al controlador
Se hizo una pregunta similar aquí. Su solución fue establecer un estado que haga el enrutamiento y usted pasa los parámetros a ese estado a través de ui-sref que desencadena la URL deseada.