我在用户设置配置文件表单中使用 Backbone。我获取模型并将其信息呈现到表单中。当我保存模型时,所有参数都被发送,而不是用户更改的参数。
首先,我获取模式并将其呈现在视图上:
// Fetch model and render on view
user = new User({ id: 123 });
user.fetch().done(function () {
view.render();
});
当用户更改字段时,我使用“set()”方法更新了模型:
"change .email": function () {
this.model.set("email", this.email.val());
}
稍后在视图代码中,我保存了一个点击事件(使用patch: true
):
"click .save": function () {
console.log(this.model.changedAttributes()); // Shows all the model attributes
this.model.save({ patch: true }); // Sends all the model attributes
}
fetch
在我用来初始化模型后,如何避免 Backbone 标记为已更改?