我有一个Polymer应用程序。当用户注销时,我想将整个应用程序重置为其原始状态。 (现在,当用户在注销后重新登录时,应用程序会将用户返回到他们退出时所处的应用程序状态和页面。)
是否有方便的(即全局)应用程序设计或代码模式来实现此目的?如果没有方便/全局,请说明如何在本地完成此操作(即,逐个元素)。
经过一些研究(and conversations in the Polymer slack group),到目前为止看起来有两个主要的建议。欢迎其他人。
可以使用JS语句强制刷新浏览器页面:
location = location;
这个解决方案让我不满意。它本质上是一个 hack ,会产生性能问题和其他不良副作用,例如等待屏幕刷新和重新绘制。
有人建议使用无状态应用程序架构。但我不确定如何在Polymer应用程序的编码环境中实现它。同样,欢迎提出建议和想法。
答案 0 :(得分:1)
几种可能的解决方案包括:
{}
。答案 1 :(得分:0)
我提出的最佳解决方案是在用户使用location.reload()
方法注销时刷新浏览器。
诀窍是你必须为你的应用添加一些独特的逻辑,以防止出现无限循环的情况。
注销时重新加载:user: {
...
observer: '_userChanged',
},
...
_userChanged: function() {
var bool = this.foo(); // Add logic here to prevent endless loop condition
if( !this.user && bool ) {
location.reload();
}
},