Backbone.js 主干线发射了两次

Backbone.js 主干线发射了两次,backbone.js,marionette,backbone-routing,Backbone.js,Marionette,Backbone Routing,我使用的是主干线和木偶,我有一条很麻烦的路线,似乎要发射两次,路线参数不同。当您单击“上一步”时,它会将您带回路由的第一次触发,而不是原始页面。使用主干调试器,我可以看到我有6个不同的路由器,其中只有一个(突出显示)具有适用的路由。所以只有一个例子 路由由普通的旧链接触发。我没有使用navigate()。以下是实际的HTML链接: <a href="#device/3/hash/84855d0624dbeb7957cad7d09f7faca78166f033ab71e53aa6199f2

我使用的是主干线和木偶,我有一条很麻烦的路线,似乎要发射两次,路线参数不同。当您单击“上一步”时,它会将您带回路由的第一次触发,而不是原始页面。使用主干调试器,我可以看到我有6个不同的路由器,其中只有一个(突出显示)具有适用的路由。所以只有一个例子

路由由普通的旧链接触发。我没有使用navigate()。以下是实际的HTML链接:

<a href="#device/3/hash/84855d0624dbeb7957cad7d09f7faca78166f033ab71e53aa6199f285d6d903f/incident/8IFVA" class="btn btn-actions action-details">
    <span></span> &nbsp;App
</a>

当我单击该链接时,您可以看到路由被两个不同的签名触发:


我觉得我可能误解了主干路由是如何工作的,为什么我的路由定义与incidentId匹配或不匹配。有趣的是。如果我获取该链接并将其粘贴到浏览器中,则路由只会触发一次。

通常,当路由或事件触发多次时,这通常意味着在来回导航时未正确处理视图

由于您确信自己没有进行任何手写导航,因此似乎情况就是这样,尤其是当您手动访问URL时,仅看到此触发器一次

如果看不到路由器或查看代码,就很难真正为您提供可靠的解决方案。我将开始在特定的路由处理程序上设置断点,并检查其触发位置的调用堆栈