【发布时间】:2016-08-08 22:30:38
【问题描述】:
我对 Angular 和 JavaScript 还是很陌生,如果这是一个明显的错误,我深表歉意。
我有这段代码选择 2 个文本文件,然后将它们放入一个数组中。
$scope.textArray = [];
$scope.textUpload = function(event){
var files = event.target.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
var reader = new FileReader();
reader.onload = $scope.textIsLoaded;
reader.readAsText(file);
};
};
$scope.textIsLoaded = function(e){
$scope.$apply(function() {
$scope.textArray.push(e.target.result);
});
这将显示一个数组,如下所示:
["160 591 114 229","186 699 132 272"]
当我通过 HTML 访问数组时,数组的两个元素都会显示,我可以使用拆分、长度等。但是如果我通过脚本访问数组,我只能访问和更改第一个元素。如果我尝试通过textArray[1] 访问第二个元素,则不会显示任何内容,如果我添加textArray[1].split(' '),则表示它无法读取未定义的属性。
我尝试在脚本中使用 join 和 slice 来更改数组或创建新数组,但它们也无法访问元素。对此问题的任何帮助将不胜感激。
编辑: 当我使用
$scope.arrayOne = $scope.textArray[0].split(' ')
它工作正常并输出正确的东西,但是当我使用时
$scope.arrayOne = $scope.textArray[1].split(' ')
它不输出任何东西。
Edit2:发现另一个具有相同问题的问题并通过添加来解决它
$scope.$watch('textArray', function(){
前面
$scope.arrayOne = $scope.textArray[1].split(' ');
【问题讨论】:
标签: javascript html arrays angularjs