Solución:
Esta es mi respuesta anterior para alguna otra pregunta, pero debería ser bueno ayudarlo
Puedes hacerlo usando angular $routeChangeStart
$ routeChangeStart
Emitido antes de un cambio de ruta. En este punto, los servicios de ruta comienzan a resolver todas las dependencias necesarias para que se produzca el cambio de ruta. Por lo general, esto implica obtener la plantilla de vista, así como las dependencias definidas en la propiedad de ruta de resolución. Una vez que se resuelven todas las dependencias, se activa $ routeChangeSuccess.
El cambio de ruta (y el $location
cambio que lo desencadenó) se puede prevenir llamando preventDefault
método del evento. Ver $rootScope.Scope
para obtener más detalles sobre el objeto de evento.
Así que intente con el siguiente código.
$scope.$on('$routeChangeStart', function (scope, next, current) {
if (next.$$route.controller != "Your Controller Name") {
// Show here for your model, and do what you need**
$("#yourModel").show();
}
});
Actualizar:
Debe escribir su trabajo funcional en la ventana emergente del modelo. igual que
Ponga algunos botones de enlace para
- ¿Estás seguro de ir a la página anterior?
- ¿Quieres permanecer en la página actual?
- ¿Quieres cerrar sesión? etc.
luego agregue el evento ng-click para ir a la página anterior, permanezca en la página actual con el uso return false
etc.
¿TIENE SENTIDO TIPO?
Estarías mejor usando $ stateChangeStart evento con enrutador de interfaz de usuario angular. Habrá problemas con $ routeChangeStart ya que el evento $ routeChangeStart se activará cuando cambie la URL.
Por ejemplo:
Tiene 4 estados, cada uno con 2 subestados, y cada sub / estado o estado no está asociado con una URL. En tales casos, es posible que escuchar $ routeChangeStart no funcione.
En el controlador / vista donde desea solicitar al usuario que confirme la redirección, haga esto.
Esto se llamará cuando el estado cambie en su alcance actual (que es la vista / controlador en el que se encuentra)
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
//Open the modal
$('my-modal').show();
});