我创建了一个 plunker 来显示问题 here
如果您单击“显示缺少数据的行”链接,则一切正常,并且它会过滤以显示缺少数据的行。但是,如果您单击“显示所有数据”,它不会再次显示其余数据吗?如何解决这个问题?
代码:
vm.applyMissingValuesFilter = function (linktext) {
if (linktext === "Display rows with missing data") {
vm.savedResourceGridResources = vm.resourceGridResources;
var results = [];
var temp = vm.resourceGridResources.Resources;
for (var i = 0; i < temp.length; i++) {
for (var j = 0; j < temp[i].Resources.length; j++) {
if (!temp[i].Resources[j].Value) {
if (results.indexOf(temp[i]) === -1) {
results.push(temp[i]);
}
}
}
}
vm.resourceGridResources.Resources = results;
vm.missingValuesButtonText = "Show all data";
}
else if (linktext === "Show all data") {
// should reset the resource values here to redisplay original data?
vm.resourceGridResources = vm.savedResourceGridResources;
vm.missingValuesButtonText = "Display rows with missing data";
}
};
最佳答案
您必须使用angular.copy
在修改数据之前保存数据:
vm.savedResourceGridResources = angular.copy(vm.resourceGridResources);
关于javascript - AngularJS - 条件逻辑不会在链接单击时重新显示原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46320116/