在再次打开应用程序之前,侧边菜单不会刷新

Posted

技术标签:

【中文标题】在再次打开应用程序之前,侧边菜单不会刷新【英文标题】:Side menu doesn't refresh untill open the app again 【发布时间】:2017-02-12 13:56:48 【问题描述】:

在我的应用程序中,我使用 ng-bind 在侧面菜单标题处显示用户名。 此用户名来自本地存储。但是当我编辑用户配置文件和用户名时,并将其覆盖到本地存储。 之后,新用户名不会显示在 sidemenu-header 中。 但是当我从浏览器刷新页面或重新打开应用程序时,它会有效地显示新页面。 那么我应该怎么做才能刷新侧面菜单(用户名)的内容? 它占用了我的时间...... 答案将不胜感激... 谢谢:)

嗨,亲爱的 感谢回复。 我在下面分享我的代码....

登录页面

我将名字和姓氏设置为来自服务响应的本地存储。 和登录页面 URL ==> http://localhost:8100/#/login

localStorage.setItem("名字",JSON.stringify($scope.dataa.first_name)); localStorage.setItem("lastname",JSON.stringify($scope.dataa.last_name));

然后我把它送到我的离子菜单控制器...... 变量名=; 变种姓=; $scope.firstname=JSON.parse(localStorage.getItem('firstname')); $scope.lastname=JSON.parse(localStorage.getItem('lastname'));

这个网址是==>http://localhost:8100/#/menu/dashboard1 一个根页面“菜单”。

当我编辑页面时,我再次将此内容设置为本地存储。但它没有显示到菜单标题。但是当我刷新页面时它会有效显示。 我认为这是根 url 问题==> /menu/ 在这个应用程序中永远不会刷新。

我用这个 url==>/localhost:8100/#/menu/editprofile 编辑这个内容 所以,它不会刷新根 url 页面。 但是当我用这个 url==>/localhost:8100/#/editprofile 编辑个人资料时 它,自动刷新内容.... 而不是上面的网址。 希望你能理解。 答案将被应用。 谢谢

【问题讨论】:

请提供您的一些代码 【参考方案1】:

没有看到您的任何代码,我的直觉是尝试在超时内执行 $scope apply:

$timeout(function () 
    $scope.$apply();

在更改绑定数据后执行上述操作,看看是否会强制刷新 UI。

(顺便说一句,如果您尝试将数据直接绑定到 localStorage,我怀疑这会起作用 - 您可能需要将数据保存在内存中,或者绑定到一个函数根据您的需要从 localStorage 中获取它。)

【讨论】:

以上是关于在再次打开应用程序之前,侧边菜单不会刷新的主要内容,如果未能解决你的问题,请参考以下文章

核心数据在 App 重启之前不会改变

swrevealviewcontroller 在侧边菜单打开/关闭时更改切换按钮图像?

每当我更改 selenium + java 的缩放时,侧边菜单都不会出现

带有可折叠侧边栏菜单 Swift 的 UITapGestureRecognizer

CSHTML 视图在应用程序重新启动之前不会更新

AMSlideMenu 通知侧边菜单是不是打开