powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Восстановить состояние меню после обновления страницы.
1 сообщений из 1, страница 1 из 1
Восстановить состояние меню после обновления страницы.
    #39064517
mezzanine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть страничка, в правой части есть меню:
- Админ
Настройки
Пользователи
+ Счета
+ Товары

В меню может быть раскрыт всего один элемент. Все это работает. Не могу придумать как поймать обновление и восстановить.
На элемент "Админ" добавлял ng-click="Click("nbAdmin")" который в контролере NavigationController сохранял значение. А вот как и в какой момент восстановить?

Кусочек этого меню:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<nav class="navbar-default navbar-static-side" role="navigation" ng-controller="NavigationController">
    <div class="sidebar-collapse">
        <ul side-navigation class="nav metismenu" id="side-menu">
            <li class="nav-header">
                <div class="logo-element">                    
                </div>
            </li>
            <li>
                <a id="nbAdmin"><i class=" fa fa-sitemap"></i> <span class="nav-label">Админ</span><span class="fa arrow"></span></a>
                <ul class="nav nav-second-level collapse">
                    <li>
                        <a id="nbStaticDicts" ui-sref="staticDictionaries">Словари 1</a>
                    </li>
                </ul>
                <ul class="nav nav-second-level collapse">
                    <li>
                        <a ui-sref="staticDictionaries">Словари 2</a>
                    </li>
                </ul>
            </li>
        </ul>
    </div>
</nav>



Потом на этой странице в верхнем меню пользователь меняет язык приложения. По нажатию на иконку языка выполняется:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
    $scope.onLanguageChange = function (id) {
        $http.post('/Shared/ChangeLanguage', { Id: id }).
          then(function (response) {
              $rootScope.$broadcast('onLayoutRefresh');
          }, function (response) {
              $scope.error = "ERROR_TO_DO";
          });
    }


Событие ловиться в главном контроллере и вызывает обновление страницы:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    $scope.$on('onLayoutRefresh', function (event, args) {
        $scope.NavigationUrl = "/Shared/Navigation?Ver=" + version();
        $scope.TopNavbar = "/Shared/TopNavbar?Ver=" + version();
        $scope.Footer = "/Shared/Footer?Ver=" + version();

        var versionIndex = $state.current.templateUrl.indexOf("?Ver=");
        if (versionIndex > 0) {
            $state.current.templateUrl = $state.current.templateUrl.substring(0, versionIndex + 5);
            $state.current.templateUrl += version();
        }
        
        $state.go($state.current, $stateParams, { reload: true, inherit: false });        
    });
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Восстановить состояние меню после обновления страницы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]