Вы должны написать свою собственную директиву ng-view чтобы создать такую функциональность.
Основная идея этого является в следующем:
До изменения маршрутов, вместо разрушения текущего view, просто сохраните его в невидимый кэш DIV, и отмените регистрацию scope listeners. Дайте элементу div атрибут data с $$route.templateUrl
, чтобы иметь возможность получить его обратно. Затем загружайте новую страницу и перезагрузите listeners.
Перед сменой маршрута проверьте кэш, и если кэш вашей страницы DIV есть - получайте элемент из кэша, перерегистрируйте scope и вставте в текущий View кэш.