gpt4 book ai didi

javascript - 在 Backbone.js 中使用后退按钮后事件触发多次

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:41 27 4
gpt4 key购买 nike

我正在构建一个 Backbone 应用程序,我遇到了这个奇怪的问题。在状态 A(路线:“”),我有这样的观点:

var view = Backbone.View.extend({
events : {
"click a.continue" : "next"
},

next : function(e) {
//Some stuff
Backbone.history.navigate("/page2");
}
});

一旦我点击带有“继续”类的 anchor ,我就会被重定向到状态 B(路线:“/page2”)。如果我单击浏览器的后退按钮,然后单击 anchor ,调试时我注意到 next 函数被触发了两次。实际上,如果我不断来回移动,事件触发的次数会不断增加。

有什么线索吗?

最佳答案

你周围有一个僵尸 View 。

要点是,当您实例化和显示第二个 View (“状态 B”)时,您并没有处理第一个 View 。如果您有任何事件绑定(bind)到 View 的 HTML 或 View 的模型,您需要在关闭表单时清除它们。

我在这里写了一篇详细的博客文章:http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/

请务必阅读评论,因为“Johnny O”提供了一个我认为非常出色的替代实现。

关于javascript - 在 Backbone.js 中使用后退按钮后事件触发多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com