Ankündigung

Einklappen
Keine Ankündigung bisher.

BackboneJS/RequireJS recursive Model/Collection definitionen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • BackboneJS/RequireJS recursive Model/Collection definitionen

    Hallo!

    Ich hoffe ihr könnt mir bei meinem Problem helfen...

    Ich arbeite gerade an einer App unter Verwendung von BackboneJS. Das Backend ist in PHP implementiert und ich verwende PropelORM um auf die DB zuzugreifen. Meine Idee war, dass ich die Datenbankstruktur in BackboneJS mit Collections/Models nachbaue und so einfach Daten zw. Frontend und Backend senden kann. Durch PropelORM muss ich mich dann sowohl im Backend als auch im Frontend um keinen Gedanken mehr machen um die Datenbindung da dies automatisch in BackboneJS oder eben via dem ORM passiert.
    ,
    Jetzt bin ich aber auf folgendes "dependencies" Problem gestossen:

    Als Beispiel schaut die DB Tabellen bzw. Models/collections so aus:
    ProduktKategorie (ID, Name)
    ProduktGruppe (ID, ProduktKategorieID, Name)
    Produkt (ID, ProduktGruppeID, Name, BenutzerID)
    Benutzer (ID, Name)
    Bestellung(ID, BenutzerID, ProduktID)

    In meinem BackboneJS Models, die eben einen Tabelleneintrag darstellen, hab ich die parse() Funktion erweitert und prüfe auf Submodels. Also für ProduktGruppe als Beispiel sieht das ungefähr so aus:
    Code:
    parse(result) {
        if(result.ProduktKategorie) {
            result.ProduktKategorie= new ProduktKategorieModel(result.ProduktKategorie, {parse: true});
        }
    
        if(result.Produkt) {
            result.Produkt= new ProduktCollection(result.Produkt, {parse: true});
        }
    }
    So ähnlich mache ich es bei jedem Model, um mögliche Subdaten, die mitgeschickt werden strukturiert abzulegen - Vorteil von ORM. Und hier ist jetzt mein Problem: Dadurch, das ein "Benutzer" in "Produkt" vorhanden sein kann und auch in "Bestellung", muss ich die Abhängigkeit beim Model angeben mit
    Code:
    define(["models/BenutzerModel"], BenutzerModel, (...))
    BackboneJs bzw. RequireJS hat natürlich jetzt ein Problem die Abhängigkeit aufzulösen da beide Modelle gleichzeitig die Benutzer brauchen und das nicht funktioniert. Bei einer der beiden Abhängigkeiten bleibt "BenutzerModel" in der übergabe "undefined".

    Ich hoffe ich hab mein Problem verständlich geschildert und jetzt zur eigentlichen Frage:
    • Was kann ich tun um das Problem zu beheben?
    • Gibt es eine Technik um hier Abhängigkeiten "lazy" zu laden? Evtl require() im parse() überall verwenden statt via define()?
    • Ist evtl. mein Ansatz falsch?
    • Andere Lösungsansätze?
    lg

Lädt...
X