我在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');
};
答案 0 :(得分:1)
我想我明白你的意思。
在ModalInstanceCtrl
替换
$scope.subcategory = detail;
$scope.subcategory = angular.copy(detail);