0

我在 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"。将它们重置为默认值的最方便的方法是什么?

4

1 回答 1

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"});

您还可以编写一个模型扩展类,该类提供一个 setAttrsToDefault() 方法,该方法可以迭代模型的 ATTRS,将属性设置回默认值。如果您想在许多不同的模型类上执行此操作,类扩展可能是要走的路

于 2013-09-30T14:01:25.313 回答