Bonjour,
J'ai un problème pour charger un objet en javascript. Ma démarche n'est probablement pas du tout la bonne à cause de mes réflexes de langages de classes.
J'ai une "classe" Document :
voici les méthodes que j'utilise pour les sauvegarde/chargement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Document = function() {... attributs ...} Document.prototype = {... methodes ...}
mais l'objet ainsi sauvegardé/chargé perd les méthodes propres à sa "classe" Document (celles déclarées dans Document.prototype).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 setCurrentDocument = function(document) {localStorage.setItem("currentDocument",JSON.stringify(document));} getCurrentDocument = function() {return JSON.parse(localStorage.getItem("currentDocument")));}
Du coup, est-ce qu'il faut déclarer les méthodes autrement, de façon à ce qu'il les conserve? Ou bien est-ce que je dois écrire
Dans ce cas, j'en viens à une deuxième question qui va vous paraitre stupide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part getCurrentDocument = function() {return new Document(JSON.parse(...));}
j'ai besoin de déclarer deux constructeurs :
Document = function() {...},
et aussi Document = function(doc) {...} afin de charger mon document comme décrit précédemment.
Mon problème, c'est comment faire ça en javscript ?
Encore une fois, je suis conscient que ma logique n'est pas la bonne. N'hésitez pas à m'ouvrir l'esprit
Partager