angular js模态更新数据问题

时间:2014-05-01 15:06:42

标签: javascript angularjs twitter-bootstrap

我在plunker

中有一个角度js应用

当我的学术课程旁边的面板列表中的添加课程按钮时,它会打开一个新模式以获取可供选择的课程列表。在这里,当我从模态中的课程列表中检查课程时,它会自动增加或减少计划学分的值和同一模态中的进度条。这里不是按保存,而是按cancel,模式不会将课程发布到正确的面板列表中。但它没有正确更新模态。即。在模态中选择一些课程后,如果我们按下取消,再次打开相同的添加课程模式,则计划的学分和进度条仍然与上一个关闭的模态保持相同。我该如何纠正这个问题?

以下是我在控制器中使用的内容:

$scope.getPercentage = function() {
    return (($scope.subcategory.planned2 + $scope.subcategory.completed2) / ($scope.subcategory.required2) * 100).toFixed(2);
  }

  $scope.toggleCheck = function(course) {
    if (($scope.selectedCourses.indexOf(course) === -1) && ($scope.subcategory.planned2 + $scope.subcategory.completed2 < $scope.subcategory.required2)) {
      $scope.selectedCourses.push(course);
      $scope.subcategory.planned2 += 3;
      if (($scope.subcategory.planned2 + $scope.subcategory.completed2) == $scope.subcategory.required2) {
        alert('Requirement met');
      }
    } else {
      $scope.selectedCourses.splice($scope.selectedCourses.indexOf(course), 1);
      $scope.subcategory.planned2 -= 3;
    }

    $scope.getPercentage();
  };

  $scope.ok = function() {
    $scope.subcategory.subcategory2 = [];
    for (var i = 0; i < $scope.selectedCourses.length; i++) {
      $scope.subcategory.subcategory2.push({
        course: $scope.selectedCourses[i],
        term: "--",
        credit: "--",
        grade: "--"
      });
    }
    $modalInstance.close();
  };

  $scope.cancel = function() {
    $modalInstance.dismiss('cancel');
  };

1 个答案:

答案 0 :(得分:1)

我想我明白你的意思。

ModalInstanceCtrl

替换  $scope.subcategory = detail;

$scope.subcategory = angular.copy(detail);