Durandal路由器Cacheview不起作用(v2.1.0)



我试图弄清楚如何使用durandal v2.1.0路由器使用 router.navigate(); 功能。我已经能够在两个视图之间来回导航,但是每次重新创建视图时。我希望能够缓存这些视图,因此,如果路由器路由到已经激活的视图,一旦它将仅从高速缓存中获取现有视图(以及它的当前ViewModel状态,例如可观察的值,等等...)。

i虽然我可以只使用 cacheviews:true 在我的路由器中绑定在外壳中的选项,但这似乎不起作用。任何帮助将不胜感激。

所以...事实证明,默认情况下,缓存正在工作,我误解了缓存系统的工作原理。就我而言,我一直在执行激活功能的所有视图初始化功能。但是,此激活每次路由到新视图时都会执行函数,因此每次视图被导航到视图时,我的初始化功能都会重新运行。一个简单的解决方案是仅在激活函数内放置 ifActivated flag,并且只有在第一次激活视图的情况下才能运行初始化功能。

最新更新