Я использую ng-hide, чтобы скрыть кнопку «Назад» и показать ее на необходимых страницах. В app.js у меня есть следующий код, где я объявляю начальное значение как true:
var app = angular.module('myApp', ['ui.bootstrap', 'ui.router', 'ui.mask', 'ngSanitize', 'ngAnimate', 'input-digits', 'input-phone','dailyTips']).run(function ($rootScope) {
$rootScope.hideNavBackBtn = true;
});
И после этого в каждом контроллере, где я хочу, чтобы отображалась кнопка «Назад», я устанавливаю значение как:
$rootScope.hideNavBackBtn = false;
Но когда я возвращаюсь на предыдущую страницу, кнопка «Назад» есть, этого не должно происходить. Кнопка «Назад» должна отображаться только для определенных страниц, где я объявил значение ложным.
Как исправить эту проблему?
Насколько я понимаю, app.js уже загружен, поэтому, когда я вернусь, значение $ rootScope останется ложным. Если я правильно понимаю, как это исправить?
В функции конфигурации файла app.js я объявил другое состояние, например:
.state('home.overview', {
url: '/overview',
templateUrl: 'modules/Overview.html',
})
В этом случае, если я определяю контроллер и устанавливаю значение true. Тогда кнопки назад не будет видно. Но тогда я должен определить значение $rootscope в каждом состоянии, которое я создаю, что не похоже на жизнеспособное решение.