2016-08-16 2 views
0

Ich konstruiere eine Komponente, wo ich mehrere Eingänge des ausgewählten Typs haben, sie haben Optionen, die erforderlich sind. Wenn ein erforderliches Feld verwendet wird, wird es aus dem Array der erforderlichen Felder gelöscht und dem Array requiredFieldsRemoved hinzugefügt. Wenn ich meine Meinung ändere und mich für eine andere Option von select entscheide und ein Feld wähle, das nicht benötigt wird, muss ich das gelöschte Objekt in den mustedFieldsRemoved zurückgeben und zu seinem ursprünglichen requiredFields-Array zurückkehren.Angularjs - Holen Sie sich vorherige Zustände eines Objekts

Was ich getan habe, ist das Hinzufügen von ng-change die Eingabeauswahl, die das Objekt zurückgibt, das sich geändert hat, also was ich jetzt brauche, speichert die vorherigen Zustände über die verschiedenen Änderungen, die die Auswahl haben kann.

//@Param publicationObject: change object from UI 
$scope.itemValue = function (publicationObject) { 

    // get the index using lodash 
    var idx = lodash.findKey($scope.requiredFields, { 
     name: publicationObject.name 
    }); 

    // here I have to check whether the object already suffered 
    // changes above or if it's his first change. 
    // if it have change previously, i will check if that status match 
    // to any object of the requiredFieldsRemoved array 
    // and push it again to the requiredFields array, if not i just do nothing. 
    // 

    //if index is found, delete the item from required fields array 
    if(idx !== undefined) { 
     $scope.requiredFields.splice(idx, 1); 
     //add removed item to the requiredFieldsRemoved array 
     requiredFieldsRemoved.push(publicationObject); 

    } 
}; 

Was kann ich implementieren, um diese vorherigen Status zu erhalten?

+0

$ scope.itemValue = function (publicationObject) mit { var oldValue = angular.copy (publicationObject) }; –

+0

versuchen Sie es mit angle.copy, um den alten Wert vor der Bearbeitung zu speichern –

Antwort

0

versuchen angular.copy

$scope.itemValue = function (publicationObject) { 
    var oldValue = angular.copy(publica‌​tionObject) 
    //code 
    }; 
Verwandte Themen