Knockout.js 使用knockoutjs的durandals路由问题

Knockout.js 使用knockoutjs的durandals路由问题,knockout.js,durandal,Knockout.js,Durandal,我在我的项目中使用了一种架构,使用durandal,knockoutjs。我对durandal的架构做了一些修改。我在同一页中加载3个视图,而不是单个页面。我面临的问题是,当我转到一个页面并点击“后退”按钮时,我以前的视图未加载 我的体系结构中有一个列表、导航和内容部分 我的网址是 ABCD/?参见散列=1&c=未定义 当我点击某个菜单时,url变为 ABCD/?seeHash=1&c=xyz(我的视图模型) 再次单击“其他”菜单时,url会更改 ABCD/?参见散列=1&c=LMN(视图模型)

我在我的项目中使用了一种架构,使用durandal,knockoutjs。我对durandal的架构做了一些修改。我在同一页中加载3个视图,而不是单个页面。我面临的问题是,当我转到一个页面并点击“后退”按钮时,我以前的视图未加载

我的体系结构中有一个列表、导航和内容部分

我的网址是

ABCD/?参见散列=1&c=未定义 当我点击某个菜单时,url变为

ABCD/?seeHash=1&c=xyz(我的视图模型) 再次单击“其他”菜单时,url会更改

ABCD/?参见散列=1&c=LMN(视图模型) 但是现在当我点击后退按钮

url将更改回

ABCD/?参见散列=1&c=XYZ
但是视图没有加载

您能解释一下如何加载3个视图吗?“后退”按钮由路由器插件控制,因此向后导航页面将仅适用于已映射到该路由的模块。我看不出durandal有什么办法知道您有3个模块/视图绑定到同一个路由。那么,您的router.map函数是什么样子的,您只是映射ABCD散列吗?如果您已经遇到此设置的问题,您可能需要考虑使用DurDalAL中的标准组合绑定来显示页面上的多个模块/视图: