【问题标题】:How to reload effectively page in Ionic Framework?如何在 Ionic Framework 中有效地重新加载页面?
【发布时间】:2015-12-13 11:49:11
【问题描述】:

我正在使用 Ionic 框架开发移动应用程序。移动应用程序有一个登录页面。

登录页面后,转到另一个显示用户信息的页面。首先用户登录系统,用户可以看到自己的信息。但是注销后,另一个用户登录系统,另一个用户看不到自己的信息,用户看到旧用户的信息。如何重新加载用户信息的页面?

我尝试解决这样的问题;

退出时,

$scope.Logout=function(){
      AuthenticationService.ClearCredentials();
      $state.go("app.home",null,{reload:true});
      **$window.location.reload(true);**
      window.localStorage.clear();
    }; 

但是没有效果。

还有其他解决方案吗?有人可以帮我吗? 如何重新加载信息页面?

我在应用程序的另一个部分有相同的状态, 用户在预订页面进行预订,用户进入另一个名为“我的预订页面”的页面后,用户无法看到自己已经添加的预订。

我看了一下 Ionic view-lifecycle 。但我不知道如何使用它。

【问题讨论】:

  • $window.location.reload(true); 重新加载整个应用程序 - 确保删除旧的用户信息之前。在本例中,将window.localStorage.clear(); 放在 $window.location.reload().
  • 如何重新加载特定页面?不是整个应用程序?
  • 我认为它在 ionic 应用程序中的缓存相关问题,请查看此答案以使其可行stackoverflow.com/a/28932268/2435473

标签: angularjs ionic-framework ionic reload page-refresh


【解决方案1】:

Ionic 缓存页面细节和信息。 要删除它,请转到 app.js 中的目标状态并添加代码行。

cache: false

在:

.state('tab.aa', {
cache: false,
    url: '/requests',
    views: {
        'tab-aa': {
            templateUrl: 'templates/tab-aa.html',
            controller: 'aaCtrl'
        }
    }
})

这将强制 ionic 重新加载特定页面,控制器将从您的 Web 服务中提取新信息。希望对您有所帮助。

【讨论】:

  • 我认为这不会重新加载控制器。
  • @Vandervidi,这会强制控制器再次从 Web 服务中提取信息,而不是使用缓存信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 2018-10-07
  • 2018-12-18
  • 1970-01-01
  • 2021-12-10
  • 2021-09-27
  • 1970-01-01
相关资源
最近更新 更多