AngularJS Paging con $ location.path pero sin recargar ngView

Mi aplicación de una sola página carga una página de inicio y quiero mostrar una serie de ideas. Cada una de las ideas se muestra en un contenedor flash animado, con animaciones que se muestran para alternar entre las ideas.

Las ideas se cargan usando $ http:

$scope.flash = new FlashInterface scope:$scope,location:$location

$http.get("/competition.json")
  .success (data) ->
    $scope.flash._init data

Sin embargo, para aprovechar el historial de navegación y UX, deseo actualizar la barra de direcciones para mostrar la url correcta para cada idea usando $ location:

$location.path "/i/#{idea.code}"
$scope.$apply()

Estoy llamando a $ se aplica aquí porque este evento proviene de fuera del contexto de AngularJS, es decir, Flash. Me gustaría que el controlador / vista actual permanezca y que la vista no se vuelva a cargar. Esto es muy malo porque al volver a cargar la vista, todo el objeto flash se desecha y el ciclo del precargador comienza de nuevo.

He intentado escuchar $ routeChangeStart para hacer un preventDefault:

$scope.$on "$routeChangeStart", (ev,next,current) ->
  ev.preventDefault()
$scope.$on "$routeChangeSuccess", (ev,current) ->
  ev.preventDefault()

pero fue en vano. Todo esto sería una historia extraña si pudiera encontrar una manera de anular la recarga de la vista cuando cambie $ location.path.

¡Todavía estoy sintiendo mucho mi camino por AngularJS, así que me alegraría cualquier sugerencia sobre cómo estructurar la aplicación para lograr mi objetivo!

Respuestas a la pregunta(6)

Su respuesta a la pregunta