在我的應用程序中,我需要上傳文件,並嘗試實現該功能,允許將新文件添加到文件數組而不是覆蓋它。AngularJS。我需要緊湊的方式來合併自定義範圍與對象數組或單個對象
這是我要做的事:
if (files) {
angular.forEach(files, function(file) {
$scope.files.push(file);
});
}
那裏文件可以File
對象數組或只是單個文件。
早期我試圖將文件推送到範圍爲$scope.files.push(files)
,但結果我得到了數組嵌套數組,並且無法通過ng-repeat
處理它。
我也試過$scope.files.concat(files)
,但結果我得到空陣列;
我也試過angular.extend($scope.files, files)
,但我得到了怪異的結果: 當我添加一個文件,它不是推到$ scope.files只是用自身替換$scope.files
第一要素。如果files
包含多個元素,則結果相同。
問題:它存在更緊湊(也許更快)的方式來合併自定義範圍與對象數組或只是一個對象?
第二個問題:爲什麼當我嘗試到angular.extend($scope.files, files)
時,它沒有將兩個數組合併成一個數組,它包含兩個元素,但只是用源代替目標數組?
'$ scope.files = $ scope.files.concat(文件)'(不像推,'concat'不會修改它呼籲陣列,它返回級聯數組來代替。 ) –
@DanielBeck謝謝!有用! –
沒有汗水。在JavaScript中激怒不一致,我自己被它抓住了 –