Angular2,在路由更改之间缓存的UI /模板状态

时间:2015-12-19 11:49:52

标签: angular angular2-template

我一直在Angular2.beta.0上构建应用程序,我已经实现了路由器和组件。

我在其中一个组件模板上有一个叠加和一个简单的基于模态的菜单,单击菜单中的链接会改变路径并加载另一个相关组件。

如果通过使用浏览器的后退按钮,访问具有模态的前一个组件,则模态和叠加保持其打开状态。

这些模态驻留在组件模板本身中,最初设置为none,并在按钮单击时使用jQuery显示/隐藏。

这似乎不是模板缓存问题,因为如果模板被缓存,模块将被隐藏,而是缓存模板的DOM状态。

1 个答案:

答案 0 :(得分:1)

正如@codin所建议的

默认情况下,Angular2缓存DOM并重用它(检查@tbosch's comment)。要阻止此行为,您可以使用APP_VIEW_POOL_CAPACITY并将其作为值0

bootstrap(MyApp, provide(APP_VIEW_POOL_CAPACITY, {useValue : 0}));