[Angular] Boton navbar reinicia la app

X

Buenos dias

Tengo una app que le meti cierta funcionalidad al boton del navbar e iba bien, pero ahora incluso teniendo en la función que ejecuta solo un console.log, me refresca toda la app

Jastro

#1 pon el codigo de tu navbar, fijo que tienes algo mal cerrado

_Rpv

Así, sin mirar el código... diría que falla el botón del navbar

B

Sin ver el código del Navbar poco podemos ayudarte.

PaCoX

los poblemas se solucionan en el bar

tOWERR

Digo lo mismo que el resto, sin ver el código no podemos ayudarte en nada. Una opción del error es, si el botón hace referencia a un formulario puede ser que no estés evitando el evento submit lo cuál hace que se reinicie la app. Tendrías que utilizar el event.preventDefault(). Pero sin el código poco podemos hacer.

1
clawder

Pese a lo obvio (pega código aquí), me aventuro a decir que puede que ese evento esté mal enlazado (bind) y que te esté tirando error en la consola, pero no puedas verlo porque automáticamente te ejecuta el refresco (por hot reload).

A mí esto me ha pasado con React: algo mal que explota pero no da tiempo ni a verlo y el servidor de hot reload refresca sin que te dé tiempo a verificar.

Te aconsejo que, usando las Chrome Dev Tools, configures la consola para que mantenga los logs al refrescar ("Preserve Log" se llama la opción):

Y verifiques que el render no se está tragando el error y haciendo el refresh sin darte tiempo a mirarlo.

Otra solución que yo uso a veces es, en lugar de poner un console.log, escribir debugger en tu código para obligar a las Dev Tools a parar tu código ahí (te saltará tipo breakpoint).

Así que en lugar de esto:

$scope.getUserInfo = function() {
  console.log('Get user info');
};

Pones esto otro:

$scope.getUserInfo = function() {
  debugger;
};
1 1 respuesta
Leos

Yo creo que esta enviando el evento submit antes de hacer nada y le refresca

1 respuesta
X

#8 Eso era, con un preventDefault se resolvio

#7 Y activando el preserve log para verlo directamente desde el console del navegador? No conocía esa funcionalidad.

1 respuesta
clawder

#9

Yo suelo activar el "Preserve log" cuando estoy programando y el servidor local hace hot reload (puedes activarlo incluso para las llamadas de la pestaña "Network").

Lo de "debugger" te lo sugerí por si lo otro no te servía.

Usuarios habituales

  • clawder
  • xavigu
  • Leos
  • tOWERR
  • PaCoX
  • _Rpv
  • Jastro