Я сделал угловое приложение с несколькими анкерами. Каждый якорь загружает Угловой контроллер с его шаблоном, что нагрузка определяются по $ routeProvider, вот код:Угловая - предотвратите перезагрузку контроллера, если он уже запущен
ApioApplication.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/home',{
templateUrl : 'systemApps/home/app.home.html',
controller : 'ApioHomeController',
reloadOnSearch: false
}).when('/home/:application',{
templateUrl : 'systemApps/home/app.home.html',
controller : 'ApioHomeController',
reloadOnSearch: false
}).when('/wall',{
templateUrl : 'systemApps/wall/app.wall.html',
controller : 'ApioWallController',
reloadOnSearch: false
}).when('/events',{
templateUrl : 'systemApps/events/app.events.html',
controller : 'ApioEventsController',
reloadOnSearch: false
}).otherwise({
redirectTo: '/home'
});
}]);
Видимо, нет ничего странного, но я видел, что каждый раз, когда я нажимаю на якоре углового перезагружает контроллер, даже если он был загружен раньше.
Итак, вот мой вопрос: есть ли способ с $ routeProvider или какой-либо другой функцией Angular, чтобы проверить, запущен ли контроллер, чтобы предотвратить его перезагрузку?
Благодарим за ответ, но я бы хотел (если возможно) использовать более одного контроллера. Я хотел бы, чтобы мое приложение было максимально модульным. – disa
Насколько это модульное дублирование маршрутов? –
Хорошо, но в этом случае мне нужно сделать только один контроллер со всех маршрутов. Вместо этого я хочу сделать один контроллер по маршруту – disa