目前,当我返回 false 时,我的 canDeactive 回调被调用了两次。
调用堆栈相同,唯一的区别是在 system.js 中,获取函数 args 变量在每次调用时具有不同的值。
第一次命中嵌套 setTimeout 中的断点时,args 具有我导航查看的值。
第二轮(分秒) args 值是我目前的观点,我已经说过可能不会停用。
这听起来很熟悉吗?我是否可能在每个视图中对我的 require 语句做错了什么
编辑更多信息
我的设置:( - 表示嵌套)
壳
-标题
-view1
--嵌套视图(使用敲除绑定)
-view2
-view3
--嵌套视图
为了在视图之间导航,我在每个视图上都有一个属性,说明它的页面标题以及任何链接项,例如 view1 标题:“Page 1”,链接 [{path:“#/view2”}]。我的每一个视图都“需要”标题视图,并将这些选项设置为激活(我不喜欢这篇文章,因为它感觉像是一个黑客,但那是另一天的事了)。
单击链接时,我会调用 shell 上的函数,该函数又会调用 router.navigateTo(单击的项目的路径) 或返回 view3。
我可以确认此问题发生在所有视图(1,2 和 3)中,并且 canActivate 以及其他生命周期回调按预期以正确的顺序触发一次。
抱歉缺少代码,但我不确定在哪里看,因为它似乎是控制导航要求的东西(由于上面提到的单一差异)