Я создаю компонент, где у меня есть несколько входов типа select, у них есть необходимые параметры. Когда используется обязательное поле, оно удаляется из массива обязательных полей и добавляется в массив requiredFieldsRemoved. Если я передумаю и выбрал другую опцию select, и я выберу поле, которое не требуется, я должен вернуть удаленный объект, нажатый в requiredFieldsRemoved, и вернул ему исходный массив requiredFields.
То, что я сделал, это добавить ng-change выбор ввода, который возвращает объект, который изменился, поэтому теперь мне нужно сохранить предыдущие состояния о различных изменениях, которые может выбрать select.
//@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 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);
}
};
Что я могу реализовать для получения этих предыдущих статусов?
попробуйте использовать угловую.копию
$scope.itemValue = function (publicationObject) {
var oldValue = angular.copy(publicationObject)
//code
};