我有一个嵌套的ng-repeat和一个过滤器来分组.
我创造了这个
fiddle.
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl',['$scope', function($scope) {
$scope.data =[
{subject: 'English',module: 'Literature', score: 95},
{subject: 'Maths',module: 'Calculus', score: 90}
];
$scope.dropScore = function() {
if ($scope.data[0].score > 0) {
$scope.data[0].score -= 8;
}
}
$scope.origData = angular.copy($scope.data)
$scope.reset = function () {
$scope.data = angular.copy($scope.origData);
};
}])
.filter('groupBy', function() {
return _.memoize(function(items, field) {
return _.groupBy(items, field);
}
);
});
当您按下按钮命中分数时,英语的分数会下降,但单击重置将重置$scope.data值,但不会在屏幕上显示更新的数据.
有人可以帮忙吗?
最佳答案
Working Demo
只需使用此重置方法:
$scope.reset = function () {
$scope.data[0].score = angular.copy($scope.origData[0].score);
};