cacheViews:true直到注销?

时间:2014-01-16 23:42:04

标签: browser-cache durandal

我喜欢在我的应用程序中使用cacheViews:true ...

我已经使用logout / login创建了一个SPA应用程序。根据当前用户是否是使用'viewUrl'(HotTowel Durandal Inject different views based on the user

的管理员,我得到的一些视图会呈现不同的视图

我遇到的问题是,如果您注销管理员帐户并进入普通用户帐户,所有以前的视图都会被缓存,因此当您浏览它时会显示所有管理员视图(不同的视图模型激活函数不是'运行)

我正在寻找一种简单的方法来在您按下注销按钮时重置所有这些视图/视图模型,以便在下一个用户登录时应用程序“重启”。

1 个答案:

答案 0 :(得分:1)

这是一个单页应用程序,因此使用window.location.reload()在注销时重新加载它会使应用程序“重新开始”。

据说,确保在cacheViews: true时分析应用程序的内存消耗情况。只要缓存的视图保留在DOM中,垃圾收集就无法重新分配内存。