template stateparams sref example angularjs angular-ui-router

stateparams - Diferencia entre ui-sref y $ state.go en AngularJS UI-Router



ui router params (2)

No hay diferencia funcional entre ui-sref y $state.go . Ver el doc

Activando un estado

Hay tres formas principales de activar un estado:

  • Llame a $state.go() . Método de conveniencia de alto nivel.
  • Haga clic en un enlace que contiene la directiva ui-sref .
  • Navegue a la url asociada con el estado.

Entonces, estos están haciendo lo mismo al final, y como podemos ver en el código de la directiva ui-sref :

... element.bind("click", function(e) { var button = e.which || e.button; if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr(''target'')) ) { var transition = $timeout(function() { // HERE we call $state.go inside of ui-sref $state.go(ref.state, params, options); });

llama $state.go()

Y también como se discute aquí: ui-sref :

ui-sref=''stateName'' - Navega al estado, sin parámetros. ''stateName'' puede ser cualquier estado absoluto o relativo válido, siguiendo las mismas reglas de sintaxis que $state.go()

¿Hay alguna diferencia funcional entre ui-sref y $state.go() ?

ui-sref se usa en <a>...</a> y $state.go(''someState'') se usa en un controlador.

En HTML, yo usaría:

<a ui-sref="currentState.state1">Link</a>

Mientras que en una función yo usaría algo como:

if(someCondition) { $state.go(''currentState.state1''); }

Entonces, ¿es eso o debo agregar algo después de $state.go() ? Suponiendo que el estado actual es currentState .