AngularJS在ng-repeat内编辑和保存值

时间:2016-04-19 10:06:00

标签: javascript angularjs json frontend

我正在研究我的第一个角应用程序,我不知道处理这个问题的最佳方法。

我有一个很长的层次结构json因为数据库的表就像金字塔一样,看起来类似于: enter image description here

我使用ng-repeat很好地表示了视图,我希望能够编辑最后一个表的最后一行与最后一级JSON相对应。

要做到这一点,我已经实现了一个工作正常的编辑模式,它完美地保存和更新数据库,问题是要看到更新的值我必须刷新页面失去滚动位置和折叠手风琴非常糟糕。

手风琴的图像:

enter image description here

当我点击编辑图标时,承诺存储在$ scope.objEdit = {};对象并启动模态,通过ng-model链接到该对象。

所以我认为下一步是当modal关闭时,我必须覆盖放置在$ scope变量中的旧对象,该变量包含已编辑的json的整个json,但我不知道该怎么做。< / p>

感谢您帮助我们学习标准的方法,他们是合作伙伴。

我刚刚解决了这个问题,我使用了与@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;

1 个答案:

答案 0 :(得分:1)

您可以尝试此程序

  1. 将所选对象传递给编辑点击从UI到控制器。
  2. 克隆它并将该对象传递给模态。
  3. OnModal将模态对象关闭传递回UI。
  4. 将模态对象的值复制到上一个选定对象
  5. 喜欢这个

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