在YUI3模型中,有没有办法重置为默认值?

时间:2013-09-27 16:14:56

标签: javascript yui3

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

1 个答案:

答案 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,将属性设置回默认值。如果你想在许多不同的模型类上做这个,那么类扩展可能是要走的路