我有两个请求,要求两个单独的 JSON 文件。我试图将它们传递到范围,但我得到了 ngRepeat dupes error .
这是我的 Controller :
var app = angular.module('myApp', ['ngSanitize']);
app.controller('myController',
function ($scope, $http, $sce) {
var request = {
method: 'get',
url: 'scripts/data.json',
dataType: 'json',
contentType: "application/json"
};
var requestMenu = {
method: 'get',
url: 'scripts/menu.json',
dataType: 'json',
contentType: "application/json"
};
$scope.arrBirds = new Array;
$scope.arrMenu = new Array;
$http(request, requestMenu)
.success(function (jsonData) {
$scope.arrBirds = jsonData;
$scope.arrMenu = jsonData;
$scope.list = $scope.arrBirds + $scope.arrMenu;
})
.error(function () {
});
});
最佳答案
要发出两个 $http 请求并合并其数据,请使用 $q.all
:
app.controller('myController', function ($scope, $http, $q) {
var request = {
method: 'get',
url: 'scripts/data.json',
};
var requestMenu = {
method: 'get',
url: 'scripts/menu.json',
};
$scope.arrBirds = new Array;
$scope.arrMenu = new Array;
var promise1 = $http(request);
var promise2 = $http(requestMenu);
$q.all([promise1, promise2]).then([response1,response2] => {
$scope.arrBirds = response1.data;
$scope.arrMenu = response2.data;
$scope.list = $scope.arrBirds.concat($scope.arrMenu);
})
});
欲了解更多信息,请参阅
关于javascript - Angular JS 将多个数组传递给scope.list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58622027/