gpt4 book ai didi

javascript - 主干模型两次触发 "change"事件

转载 作者:行者123 更新时间:2023-11-29 10:18:11 29 4
gpt4 key购买 nike

我大约一周前才开始使用 backbonejs,我发现我的模型在从我的 View 中监听调用“更改”事件时被保存了两次。

基本上我所拥有的是一个用户可以编辑的表格,每当用户更新我想将其推送到服务器的单元格值时,我已经为此定义了一个“更改”方法,并且每次单元格更新时我都会调用它已更新。

我面临的问题是 id 模型在调用“更改”事件时保存了两次。

如果我将 wait:true 传递给 model.save,更改事件将被触发三次

我是做错了什么,还是遗漏了一些明显的东西?任何帮助将不胜感激

下面是我的代码

var Territory = Backbone.Model.extend({
initialize: function () {
Backbone.Model.prototype.initialize.apply(this, arguments);
this.on("change", function (model, options) {
if (options && options.save === false) return;
model.save();
});
}
});

var Territories = Backbone.Collection.extend({
model: Territory,
url: "js/bookings.json"
});
var territories = new Territories();

var columns = [{
name: "bookingId",
label: "ID",
editable: false,
cell: Backgrid.IntegerCell.extend({
orderSeparator: ''
})
}, {
name: "bookingTime",
label: "Time",
cell: "string"
}, {
name: "bookingUser",
label: "Name",
cell: "string"
}, {
name: "reserveDate",
label: "Date",
cell: "string"
}, {
name: "bookingEmail",
label: "Email",
cell: "string"
}];

var grid = new Backgrid.Grid({
columns: columns,
collection: territories

});

grid.listenTo(territories, "change", function () {
alert(territories.pluck('bookingId'))
});

如有任何帮助,我们将不胜感激。

最佳答案

我的 BAD,这 2 个事件是一个从客户端触发以保存数据,另一个是保存数据后服务器的响应。

关于javascript - 主干模型两次触发 "change"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113531/

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