我在YUI3中有一个模型:
var AModel = Y.Base.create("aModel", Y.Model, [], {
}, {
ATTRS: {
'att1': {
value: "DEFAULT1"
},
'att2': {
value: "DEFAULT2"
},
}
});
使用var m = AModel({att1: "a", att2: "b"});
创建模型。如果我使用m.reset()
,则属性设置为"a"
和"b"
。将它们重置为默认值的最方便方法是什么?
答案 0 :(得分:0)
reset()将值重置为其初始值,即您提供给构造函数的值。 您可以显式设置值:
m.set("att1",AModel.ATTRS.att1.default);
m.set("att2",AModel.ATTRS.att2.default);
或构造没有属性的模型,然后设置值:
var m = AModel();
m.setAttrs({att1: "a", att2: "b"});
您还可以编写一个Model扩展类,它提供了一个setAttrsToDefault()方法,该方法可以迭代模型的ATTRS,将属性设置回默认值。如果你想在许多不同的模型类上做这个,那么类扩展可能是要走的路