Restangular - Verschachtelte Ressourcen

8

Was ist die beste Vorgehensweise beim Umgang mit verschachtelten Ressourcen mit Restangular? d. h.

%Vor%

});

Dies würde mir erlauben, auf jeden innerhalb der Ansicht nett zuzugreifen.

%Vor%

Wenn ich dann das Projekt aktualisieren möchte, sendet es ALLES an den REST-Endpunkt des Projekts (einschließlich aller Proofs und aller Proofs.comments).

%Vor%

Das lässt mich denken, dass ich etwas falsch umsetzen muss, und es könnte ein besserer Weg sein, damit umzugehen?

Kann man mit etwas Ähnlichem (nicht getestet) alles direkt auf einzelne $ scope festlegen? d. h.

%Vor%

});

Was ist die empfohlene Best Practice dafür?

    
Andy Russell 11.11.2013, 16:01
quelle

2 Antworten

1

Es gibt zwei Optionen: Schreiben Sie eine benutzerdefinierte PUT-Methode oder löschen Sie die Eigenschaft aus dem Objekt

Option # 1: Schreiben Sie eine benutzerdefinierte PUT-Methode

Die Standardmethode zum Einfügen eines Elements sendet alle die festgelegten Parameter.

Sie können dies im Restangular-Quellcode sehen, wo jede Ressource mit einem Standardsatz von Methoden initialisiert wird, die alle Parameter akzeptieren und keine any -Filterung durchführen, um Parameter zu entfernen.

Sie können eine benutzerdefinierte Methode erstellen, die die Proof-Eigenschaft aus dem Objekt entfernt oder nur bestimmte Felder in der Anfrage als PUT auswählt.

Option # 2: Löschen Sie die Eigenschaft aus dem Objekt.

Bevor Sie put() Ihr Projekt, können Sie so etwas tun:

%Vor%

Das Schlüsselwort delete löscht die Eigenschaft aus dem Objekt. Wenn Sie dann put() aufrufen, enthält das Projektobjekt nicht mehr die verschachtelte Ressource. Sie können hier mehr über das Schlüsselwort löschen lesen.

Sie können das Objekt an der Konsole ausdrucken, um genau zu sehen, was Sie auf den Server setzen:

%Vor%     
Rudolf Olah 31.07.2014 02:05
quelle
0

Wenn nur ein Feld geändert wird, können Sie element.patch mit einem Parameter wie folgt verwenden:

%Vor%

Außerdem wurde der Wert Ihres Feldes in den meisten Fällen durch <input ng-model="project.FIELD_NAME"/> geändert, sodass Sie ihn wiederverwenden können:

In Ihrem Controller:

%Vor%

In Ihrer Vorlage

%Vor%     
JUO 22.04.2015 14:23
quelle

Tags und Links