【发布时间】:2012-11-13 20:23:39
【问题描述】:
我正在使用 JavaScript 框架在 Parse 中编写一个应用程序。在我看来,我有一个与“新页面”类的链接。在 JS 代码中,我有:
events: {
"click .new-page" : "createPage",
}
createPage 是:
createReel: function() {
var self = this;
// Get current pagelist
var pages= new PageList;
pages.query = new Parse.Query(Page);
pages.query.equalTo("owner", Parse.User.current());
pages.query.ascending("order");
pages.fetch({
success: function(pagelist) {
var newPage = new Page;
newPage .save({
success: function(newpage) {
// Redirect to page edit
new PageEditView();
}
});
}
});
}
第一次,这工作正常 - 新页面已创建,并进入该页面的编辑模式。但是,如果我随后使用“添加页面”按钮返回视图并再次单击它,我会得到 2 个新页面。如果我再做一次,我会得到 4,以此类推。
我假设事件正在“建立”,因此单击按钮的次数越多,触发事件的次数就越多。
我不知道从哪里开始寻找。
【问题讨论】:
-
阅读 Backbone 僵尸视图,听起来您的事件没有被正确删除/解除绑定。
-
当您使用按钮返回视图时,您是否删除了旧的 PageEditView?
标签: javascript backbone.js dom-events backbone-views backbone-events