2013-03-14 3 views
0

Lorsque l'utilisateur change les paramètres d'URL (hachage) - nouveau modèle est créé et plusieurs vues (chacun pour différentes instance de modèle) sont rendus en même temps.
Quelle est la meilleure façon de faire un modèle singleton? Voici mon code:mise en œuvre du modèle singleton Ember

Exam.TestModel = null; 


Exam.TestRoute = Ember.Route.extend({ 

model: function(params) { 

    // trying to remove old model 
    if (Exam.TestModel) { 
     Exam.TestModel.destroy(); 
     Exam.TestModel = null; 
    } 

    console.log(Exam.TestModel); 
    Exam.TestModel = Exam.Test.create(params); 

    return Exam.TestModel; 
} 
}); 
Exam.Test = Ember.Object.extend({ 

init: function() { 
    this._super(); 

    if (this._validate()) { 
    this._loadQuestionNumbers(); 
    } 
}, 
//... 

Répondre

0

Pas besoin de recréer le modèle, quand il est possible juste de mettre à jour les propriétés:

Exam.TestModel = null; 


Exam.TestRoute = Ember.Route.extend({ 

// NOTE autogenerated 
// setupController: function(controller, test) { 
//  controller.set('content', test); 
// }, 
model: function(params) { 

    if (Exam.TestModel != null) { 
     Exam.TestModel.setProperties(params); 
    } else { 
     Exam.TestModel = Exam.Test.create(params); 
    } 

    return Exam.TestModel; 
} 
});