#javascript #angularjs #ionic-framework
#javascript #angularjs #ionic-framework
Вопрос:
В моем приложении я показываю имя пользователя в заголовке бокового меню с помощью ng-bind. Это имя пользователя происходит из локального хранилища. Но когда я редактирую профиль пользователя, а также имя пользователя и переопределяю его на локальное хранилище. После этого новое имя пользователя не отображается в заголовке sidemenu. Но когда я обновляю страницу из браузера или снова открываю приложение, оно эффективно отображает новое. Итак, что я должен сделать для обновления содержимого бокового меню (имя пользователя)?? Это займет много моего времени …. ответ будет оценен… Спасибо 🙂
привет, спасибо за ответ. Я делюсь своим кодом ниже….
Страница входа в систему
Я устанавливаю first_name и last name в локальное хранилище, которое поступает из ответа службы. и URL-адрес страницы входа ==> http://localhost:8100/#/login
localStorage.setItem(«firstname»,JSON.stringify($scope.dataa.first_name)); localStorage.setItem(«lastname», JSON.stringify($scope.dataa.last_name));
и я получаю его на свой контроллер ionic menu …. var firstname={}; var lastname={}; $scope.firstname=JSON.parse(localStorage.GetItem(‘firstname’)); $scope.lastname=JSON.parse(localStorage.GetItem(‘lastname’));
и URL-адрес этого ==>http://localhost:8100/#/menu/dashboard1 корневая страница «меню».
Когда я редактирую страницу, я снова устанавливаю это содержимое в локальное хранилище.Но оно не отображается в заголовке меню.Но когда я обновляю страницу, она отображается эффективно. Я думаю, что это проблема с корневым URL ==> /menu/ никогда не обновляется в этом приложении.
Я редактирую это содержимое с помощью этого url ==>/localhost:8100/ #/menu/editprofile, поэтому оно не обновляет корневую страницу url. Но когда я редактирую профиль с помощью этого url ==>/localhost:8100 / #/ editprofile, содержимое обновляется автоматически …. а не для указанного выше URL. Надеюсь, вы понимаете. ответ будет оценен. Спасибо
Комментарии:
1. Пожалуйста, предоставьте часть вашего кода
Ответ №1:
Не видя никакого вашего кода, я предполагаю попробовать применить $scope внутри тайм-аута:
$timeout(function () {
$scope.$apply();
}
Выполните описанные выше действия после изменения связанных данных и посмотрите, не приведет ли это к обновлению пользовательского интерфейса.
(Кстати, если вы пытаетесь привязать данные непосредственно к localStorage, я сомневаюсь, что это сработает — вам, вероятно, нужно либо хранить данные в памяти, либо привязываться к функции, которая извлекает их из localStorage, в зависимости от ваших потребностей.)