我一直在Angular2.beta.0上构建应用程序,我已经实现了路由器和组件。
我在其中一个组件模板上有一个叠加和一个简单的基于模态的菜单,单击菜单中的链接会改变路径并加载另一个相关组件。
如果通过使用浏览器的后退按钮,访问具有模态的前一个组件,则模态和叠加保持其打开状态。
这些模态驻留在组件模板本身中,最初设置为none,并在按钮单击时使用jQuery显示/隐藏。
这似乎不是模板缓存问题,因为如果模板被缓存,模块将被隐藏,而是缓存模板的DOM状态。
答案 0 :(得分:1)
正如@codin所建议的
默认情况下,Angular2缓存DOM并重用它(检查@tbosch's comment)。要阻止此行为,您可以使用APP_VIEW_POOL_CAPACITY
并将其作为值0
。
bootstrap(MyApp, provide(APP_VIEW_POOL_CAPACITY, {useValue : 0}));