我正在使用Angular UI路由器,并希望重新加载当前状态并刷新所有数据/重新运行控制器以获取当前状态及其父级.
我有3个州级别:directory.organisations.details
directory.organisations包含一个包含组织列表的表.单击表中的项目会加载directory.organisations.details并使用$ StateParams传递项目的ID.因此,在详细信息状态中,我加载此项目的详细信息,编辑它们,然后保存数据.到目前为止都很好.
现在我需要重新加载此状态并刷新所有数据.
我试过了:
$state.transitionTo('directory.organisations');
Run Code Online (Sandbox Code Playgroud)
哪个进入父状态,但没有重新加载控制器,我想因为路径没有改变.理想情况下,我只想保留在directory.organisations.details状态并刷新父级中的所有数据.
我也尝试过:
$state.reload()
Run Code Online (Sandbox Code Playgroud)
我在API WIKI for $ state.reload上看过这个"(控制器现在重新修复的错误,很快就会修复)."
任何帮助,将不胜感激?
<a ng-href="#" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>
Run Code Online (Sandbox Code Playgroud)
我想重新加载页面.我怎样才能做到这一点?
我目前正在开发一个Angular/Ionic/Cordova项目,我们最近升级到了最新的Ionic beta.从项目之前使用的版本开始,这引入了视图缓存.然而,它也引入了一个问题.
该应用程序面向客户,是以数据为中心的.但是,用户必须进行身份验证才能查看与其帐户关联的数据; 当用户注销并登录到另一个帐户时,由于视图仍然被缓存,因此会显示最后一个帐户的视图.
应用程序仍应在用户登录时缓存视图,因为它有助于使应用程序感觉更快,但应在用户注销时清除缓存.
设置cache-view="false"不是一个选项,因为它会完全禁用缓存.
我也尝试过设置$ionicConfig.views.maxCache(0);,然后回到默认值10,希望它会在这样做时清除缓存,但它没有效果.
我能想到的最后一件事就是在用户登录时触发一个事件,刷新当前加载到视图中的所有数据 - 但是,这需要比我认为应该花费更多的精力.
有没有办法简单地清除视图缓存?
我知道如何为视图清除缓存:
.state('app.list', {
cache : false,
url: "/lists/:listId",
views: {
'menuContent': {
templateUrl: "templates/listDashboard.html",
controller: 'listDashboardCtrl'
}
}
})
Run Code Online (Sandbox Code Playgroud)
,但我还需要其他东西 - 在控制器方法中删除应用程序的所有缓存.怎么做?
在使用Ionic Framework登录/注销后浏览清除历史记录和重新加载页面
我想知道同样的问题,但对于ionic2使用打字稿.
在登录和注销时我需要重新加载app.ts,因为有些类在构造上运行库.
它基本上会重定向到家并重新加载.