为什么同一个视图在Durandal日志中导航了两次

Why is the same view navigated twice in the Durandal log?

本文关键字:两次 导航 视图 同一个 Durandal 日志 为什么      更新时间:2023-09-26

我有一个Durandal 2.o应用程序,它显然运行良好。它是作为一个标准的vm/view结构构建的,具有一个父级和一个子级路由器。

然而,我遇到了一个小现象,它在DOM中给了我一些不必要的副作用。当我试图找出问题的原因时,我可以看到每次我进行哈希导航时,一切似乎都会发生两次。为什么?这是杜兰达尔的正常行为吗?

从Chrome中的日志文件提取:

Object {router: Object, toolBarItems: Array[3], toolItemsPullRight: function, groupsmerged: function, enableBack: function…} 
Object {fragment: "**activity/list**", queryString: null, config: Object, params: Array[1], queryParams: null}  system.js:75
Activating 
Object {listmerged: function, searchText: function, dsacty: Object, dssbag: Object, dssupp: Object…}  system.js:75

导航完成

Object {listmerged: function, searchText: function, dsacty: Object, dssbag: Object, dssupp: Object…}  
Object {fragment: "**activity/list**", queryString: null, config: Object, params: Array[1], queryParams: null}  system.js:75
Binding vmActivity/comps/list 
Object {listmerged: function, searchText: function, dsacty: Object, dssbag: Object, dssupp: Object…}  system.js:75
Activating 
Object {router: Object, toolBarItems: Array[3], toolItemsPullRight: function, groupsmerged: function, enableBack: function…}  system.js:75

导航完成

睡了一个好觉,仔细看了看,我可以看到这是Durandal中的正常日志文件。这看起来很奇怪,因为我在大多数视图中都使用了一个附加的子路由器。子路由器恰好与其父路由器的名称相同,因此在日志文件中看起来有点混乱,它似乎被激活了两次。:)