Backbone.js: définir une première série de modèles lors de la création d'une collection
-
25-10-2019 - |
Question
Je crée une vue épine dorsale pour afficher une liste des dossiers créés par l'utilisateur dans mon webapp. mais je veux avoir une entrée par défaut comme no folder
à afficher dans la liste.
Au lieu d'insérer le DOM dans la vue, je veux juste ajouter un modèle à la collection qui ne soit pas synchronisé au serveur mais il est juste utilisé pour être rendu dans la vue.
Est-il possible que je peux le faire? J'ai essayé un échec ...
var def = {'name': 'none', 'selected': 'true'};
var coll = new app([def]);
// model here
var appitem = Backbone.Model.extend({
defaults: {
name: '',
id: '',
selected: 'false'
}
});
// collection here
app = Backbone.Collection.extend({
model: appitem,
url: '/apps'
});
La solution
Vous ne devriez pas modifier vos modèles en fonction de ce que les besoins de la vue.
Si vous avez besoin affichage une entrée 'sans dossier', qu'il appartient à la vue .
Ne compliquez pas votre vie en ajoutant des données sans sens à la couche de modèle. Gardez-le dans la vue.