Ich möchte einen benutzerdefinierten Satz von Attributen und Lebenszyklusmethoden erstellen, die für alle meine Sails.js-Modelle freigegeben sind.Vererben Attribute und Lebenszyklusfunktionen von Sails.js-Modellen
Sails.js erstellt und registriert die Modellobjekte automatisch, indem sie die Methode Waterline.Collection.extend()
aufruft und die Modelldefinition im Verzeichnis /api/models
bereitstellt.
Was wäre der beste Weg, um meine Modelldefinition von einem Elternteil zu erweitern? Ich habe bereits versucht, _.extend(sails.config.model.parentModel, childModel)
verwenden, aber leider ist das sails
Objekt nicht global ausgesetzt (da dies nach dem Laden der Orm-Hook getan wird). Ich könnte auch einfach das Basismodell in allen meinen Modellen require()
erweitern und erweitern.
Was wäre ein sauberer Ansatz, der gut zu Sails passt?
habe gerade herausgefunden, dass es 'sails.config.model', die mit jedem Modell während Normalisierungs verschmolzen wird. Ist es sinnvoll, dies als Basismodell bei der Implementierung von Lifecycle-Funktionen zu verwenden? Mein Basismodell definiert die 'toJSON()' Methode. Was muss ich tun, wenn meine Kindermodelle dies auch überschreiben müssen? –
Momentan behalte ich das Verhalten der Eltern 'toJSON()' beim Überschreiben intakt. –