Я работаю над своим первым угловым приложением, и я не знаю, как лучше всего справиться с этой проблемой.
У меня длинный иерархический json, потому что таблицы базы данных похожи на пирамиду, похоже на это:
Я очень хорошо представляю представление, используя ng-repeat, я хочу иметь возможность редактировать последние строки последней таблицы, которые соответствуют последнему уровню JSON.
Для этого я внедрил редактируемый модальный режим, который отлично работает, он отлично сохраняет и обновляет базу данных, проблема в том, что для просмотра обновленного значения мне нужно обновить страницу, теряющую положение прокрутки и сильно скомбинировав аккордеоны.
Изображения аккордеонов:
Когда я нажимаю значок редактирования, в хранилище обещано сохранение $ scope.objEdit = {}; объект и запускает модальный, который связан с этим объектом с помощью ng-модели.
Поэтому я думаю, что следующим шагом является то, что когда модальный закрыт, я должен переопределить старый объект, помещенный в переменную $ scope, которая содержит весь json для отредактированного, но я не уверен, как это сделать.
Я был бы признателен за вашу помощь в изучении стандартного способа сделать это, тх-товарищи.
Я просто решил это, я использовал подобную процедуру для oen, которую @AnikIslamAbhi заговорил, в скрипте, которую @Harshad поделился с комментариями, решен, но у меня есть гораздо более сложный json для обработки, мне пришлось идти с такими вещами, как те, для получения индекса всех уровней json:
$scope.positionEvaluacion = $scope.dataEvaluacion.indexOf(args.levelOne); $scope.positionAsignaturaevaluacion = $scope.dataEvaluacion[$scope.positionEvaluacion].asignaturaevaluacion.indexOf(args.levelTwo); $scope.positionTarea = $scope.dataEvaluacion[$scope.positionEvaluacion].asignaturaevaluacion[$scope.positionAsignaturaevaluacion].tarea.indexOf(args.levelThree);
И после этого переопределите этот объект с отредактированным:
$scope.dataEvaluacion[$scope.positionEvaluacion].asignaturaevaluacion[$scope.positionAsignaturaevaluacion].tarea[$scope.positionTarea] = $scope.objEdit;
Вы можете попробовать эту процедуру
Как это
for(var i in modalObj){
selectedObj[i]=modalObj[i];
}