Итак, я использую angular для создания веб-страницы, и внутри у меня есть вкладки, которые устанавливают ng-view в основной части моей страницы. Каждый раз, когда страница загружает другое представление, я хочу запустить некоторую логику для настройки. Странная проблема, с которой я сталкиваюсь, заключается в том, что это отлично работает, когда пользователь загружает веб-страницу или обновляется, но если они переходят на одну вкладку, а затем нажимают кнопку «Назад» в браузере, загружается новый ng-view, но логика контроллера не вызывается очередной раз. Я знаю, что контроллер загружается, но логика в корне контроллера не выполняется. Я попытался добавить наблюдение за областью для stateChangeSuccess и viewContentLoaded, ни одно из которых не запускается, когда пользователь нажимает назад.
КОНТРОЛЛЕР
myApp.controller('RootCtrl', function($scope, $location) {
$scope.$watch('viewContentLoaded', function(){
Console.log("this is only hit once also");
});
Console.log("this is only hit once");
});
это вводится в верхнюю часть моего тела html и находится на каждой вкладке
НАСТРОЙКА ПРИЛОЖЕНИЯ
myApp = angular.module('myApp', ['ngRoute','ui.bootstrap']);
myApp.config([
'$routeProvider','$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/home',{
templateUrl: '../templates/home.html',
controller: 'other'
})
.when('/myOtherPage',{
templateUrl: '../templates/page1.html',
controller: 'otherCtrl',
css: 'royaltyOverrides.css'
})
.when('/myOtherPage2',{
templateUrl: '../templates/page2.html',
controller: 'otherCtrl',
})
.otherwise({redirectTo:"/home"}
);
$locationProvider.html5Mode(true);
}
]);
reloadOnSearch: true
в свой маршрут - person Pankaj Parkar   schedule 24.04.2015