Ich bin Upload und Anzeige einer CSV-Datei mit eckigen. Die Upload-Schaltfläche/-Funktion kümmert sich um das Lesen und Parsing des CSV, so dass der HTML-Code angezeigt werden kann. Die Tabelle zeigt jedoch nicht mit dem ersten Klick an, es erfordert einen zweiten Klick der Upload-Schaltfläche zum Anzeigen. Wenn ich mich in der Konsole anmelde, wird angezeigt, dass das Array von Objekten nach dem ersten Klick erstellt wird.Upload-Funktion in AngularJs erfordert Doppelklick auf die Tabelle
vm.upload = function() {
var fileUpload = document.getElementById("fileUpload");
var reader = new FileReader();
reader.onload = function (e) {
var lines = e.target.result.split("\n");
var result = [];
var headers = lines[0].split(',');
for(var i = 1;i<lines.length;i++){
var obj = {};
var currentline = lines[i].split(',');
for(var j = 0;j < headers.length; j++){
obj[headers[j]] = currentline[j];
}
if (obj[headers[1]] == undefined){
continue;
}
result.push(obj);
}
vm.head = headers;
vm.data = result;
console.log(result);
console.log(headers)
console.log(vm.data)
}
reader.readAsText(fileUpload.files[0]);
vm.editTable = false
vm.display = true;
};
Einige weiteren Details wären hilfreich. Was ist 'vm'? Erwarten Sie, dass Ihre Tabelle angezeigt wird, indem Sie 'vm.data' einstellen? Wenn ja, hast du das mit der js-Konsole versucht, um zu sehen, ob es funktioniert? Soll 'readAsText'' reader.onload' auslösen? Wenn ja, bist du sicher, dass es das tut? Eine Geige oder ähnliches würde hier helfen. – dlsso