避免“fetch()”将模型属性标记为已更改
Avoid `fetch()` marking model attributes as changed
我在用户设置配置文件表单中使用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
后更改主干标记?
这个技巧将解决你的问题:
model.fetch({context:model}).done(function () {
this.set({});
view.render();
});
相关文章:
- 将display属性更改为visible flicks,然后再次消失
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 将css属性替换为变量
- 将属性设置为未定义时未通知观察者
- Javascript将数组中对象的属性转换为字符串
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- 附加'沙箱'属性设置为动态创建的iframe以停止重定向
- 对象的属性显示为未定义
- 如何将按钮的数据属性设置为输入[type=text]中设置的任何值
- 如何将 JavaScript Yahoo Weather API 调用属性替换为变量
- 当可见属性设置为 false 时,使用 JavaScript 删除空格
- 如何将返回一串数字的 JSON 属性转换为日期
- 无法使用 Snap.SVG将“填充”属性设置为“继承”
- img src 属性在为空时返回页面的 URL
- 无法读取属性''为null
- 是否可以通过属性's值,并将属性设置为parentNode
- 如何将最大高度css属性指定为屏幕大小
- 如何在JavaScript中将JSP请求属性转换为字符串并将其分配给对象
- 如何使用按钮的jsp点击事件将属性设置为struts-bean
- 在ember.js记录上使用toJSON,将其中一个属性设置为null