2016-04-19 19 views
0

我正在處理我的第一個角度應用程序,我不知道處理此問題的最佳方法。AngularJS編輯並保存ng-repeat中的值

我有很長的分層JSON becouse數據庫的表是像一個金字塔,類似於此: enter image description here

我的觀點代表很好用NG-重複,我希望能夠到編輯與最後一級JSON對應的最後一個表的最後一行。

要做到這一點,我已經實現了一個工作正常的編輯模式,它完美地保存和更新了數據庫,問題在於要查看更新後的值,我必須刷新丟失滾動位置的頁面並摺疊非常差的手風琴。

圖片手風琴:

enter image description here

當我點擊編輯圖標,在$ scope.objEdit =承諾店{};該對象並啓動通過ng-model鏈接到該對象的模式。

所以我認爲下一步是當模式關閉時,我必須覆蓋放在$ scope變量中的舊對象,該變量包含編輯過的整個json,但我不知道如何去做。

我會感謝您的幫助,學習標準的方式來做到這一點,thx隊友。

我剛剛解決了它,我使用了@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; 
+0

的值可以告訴你使用更多的代碼?你如何設置新的數據? – kabaehr

+0

你嘗試過什麼嗎?以便我們可以輕鬆幫助 –

+1

訪問此http://jsfiddle.net/Thw8n/4/ –

回答

1

你可以試試這個方法

  1. 將編輯時所選對象從UI傳遞到控制器。
  2. 克隆它並將該對象傳遞給模態。
  3. OnModal close將模態對象傳遞迴UI。
  4. 複製模式對象的以前的選定對象

像這樣

for(var i in modalObj){ 
    selectedObj[i]=modalObj[i]; 
} 
+0

當我點擊編輯圖標$ scope.objEdit = {};該對象並啓動通過ng-model鏈接到該對象的模式。 所以我認爲下一步是當模式關閉時,我必須覆蓋包含整個json的$ scope變量中的這個舊對象,但我不知道如何去做。 –

+0

@RubénMartín你可以在jsfiddle中提供演示嗎? –

+0

我剛解決它,thx給你@ AnikIslamAbhi和這個鏈接http://jsfiddle.net/Thw8n/4/共享@Harshad thx爲您的答案 –