我在Backbone.js中编写了一个简单的应用程序,并且遇到了一个令人沮丧的情况,那就是在更改每个模型属性之前,绑定到更改事件的函数正在被触发。Backbone:等待多个更新
总之,我的组件绑定到日期选择器,并且接受开始日期和结束日期。我想等到设置开始日期和结束日期,但是在设置之前使用更改事件触发。
下面是一些伪代码:
define(["jquery", "underscore"], function() {
var model = Backbone.Model.extend({
initialize: function (options) {
this._super();
//Make the items null
this.set("startDate", null);
this.set("endDate", null);
//Listen for changes to data
this.on("change:startDate change:endDate", this.prepareData, this);
},
prepareData: function() {
var startDate= this.get("startDate");
if (!startDate)
return;
var endDate= this.get("endDate");
if (!endDate)
return;
//DO MY STUFF
}
});
这样做的结果是,第一次“prepareData”功能被激发,我有新的开始日期和旧的结束日期。
任何线索?
编辑:
增加的复杂的是,有时仅日期日期将被改变,例如在用户选择的是在相同的结束日期如先前土地一个范围。似乎我需要等待一段时间才能检查更改,然后再触发该功能。
谢谢,这很有用,但不会说明结束日期相同的情况(比如说用户只是改变了开始日期)。在那种情况下,什么都不会发生我该如何等待一段时间? – PizzaTheHut