2013-09-27 128 views
0

我在YUI3模型:使用var m = AModel({att1: "a", att2: "b"});創建在YUI3模型中,有沒有辦法重置爲默認值?

var AModel = Y.Base.create("aModel", Y.Model, [], { 
}, { 
    ATTRS: { 
     'att1': { 
      value: "DEFAULT1" 
     }, 
     'att2': { 
      value: "DEFAULT2" 
     }, 
    } 
}); 

的車型。如果我使用m.reset(),則屬性設置爲"a""b"。將它們重置爲默認值最方便的方法是什麼?

回答

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,將屬性設置回默認值。如果你想在許多不同的模型類別上做到這一點,類擴展可能是要走的路線

相關問題