backbone.js model.clear没有默认值

Wol*_*mec 3 backbone.js

当我创建一个新的backbone.js模型时,"defaults"中的属性不会被忽略,它们将成为我的模型的初始值.
当我在模型上调用"清除"时,为什么忽略它们.
它背后有什么理由吗?
为什么我需要一个状态,当我有"默认值"时,我的模型的所有属性都是0或""(空格)?
有人可以给我一个真实世界的例子吗?

例如,在我的一个模型中有一个名为"status"的属性.初始值为"x",但用户可将其更改为"b"或"u".""(空格)无效值.因此在模型中,我有

 defaults: {
   "status":  "x"
 }
Run Code Online (Sandbox Code Playgroud)

在详细信息组件中,用户可以编辑模型的值,他有一个名为"erase"的按钮.当他这样做时,模型得到初始状态.在这种情况下,我永远不需要一个函数来将所有属性设置为零或空格.

如果模型具有"默认值",则backbone.js作者可以很容易地检查"clear"方法,如果是,则删除所有值,然后获取默认值.

非常感谢
沃尔夫冈

Yar*_*lav 5

有类似的需要.因为框架的作者不会自己使用它们,所以它们无法预见所有真实世界的用例.最好直接询问https://github.com/documentcloud/backbone

无论如何,它是javascript

Backbone.Model.prototype.resetToDefaults = function() {
    this.clear();
    this.set(this.defaults);
};
Run Code Online (Sandbox Code Playgroud)