Edit2 :有问题 - 重复一个数组,因为它是一个数组被推入一个数组,所以我被建议使用concat()而不是push(),现在它似乎工作,但现在问题是ng-repeat完全停止工作,它根本不重复。
控制器
$scope.table = new Array();
$scope.gallery = new Array();
$scope.add = function(inserzione) {
$scope.table = [];
$scope.table.push(inserzione);
$scope.gallery = $scope.gallery.concat(inserzione.galleria);
$location.path('dettagli');
$timeout((function() {
$window.scrollTo(0, 0);
}), 300);
};
$scope.remove = function(inserzione) {
$scope.table = [];
$scope.gallery = [];
$location.path('/');
$timeout((function() {
$window.scrollTo(0, 0);
}), 300);
};
页
<div class="row">
<div class="col-xs-12" ng-repeat="immagine in gallery"><img class="img-responsive center-block" ng-src="{{immagine}}"/></div>
</div>
plnkr
修改:plnkr
所以..我认为现在需要一些解释。
我有一个函数,其中来自数组的一些数据被推送到另一个数组,但无论我如何操作它们(toString / replace / split / arrayFrom madness)我总是得到一个字符串。
预期:[&#34; img1&#34;,&#34; img2&#34;]
实际上:[[&#34; img1&#34;,&#34; img2&#34;]]
controller.js
(function() {
(function() {
var AggregateController;
AggregateController = function($http, $scope, $window, $timeout) {
var vm;
vm = this;
vm.inserzioni = new Array();
$http.get("inserzioni.json").success(function(data) {
vm.inserzioni = data;
});
$scope.table = new Array();
$scope.gallery = new Array();
$scope.add = function(inserzione) {
$scope.table = [];
$scope.table.push(inserzione);
$scope.gallery.push(inserzione.galleria.toString().replace(/\["\]/g, '').split(','));
$scope.gallery = Array.from($scope.gallery);
$location.path('dettagli');
$timeout((function() {
$window.scrollTo(0, 0);
}), 300);
};
$scope.remove = function(inserzione) {
var index;
index = $scope.table.indexOf(inserzione);
$scope.table.splice(index, 1);
$location.path('/');
$timeout((function() {
$window.scrollTo(0, 0);
}), 300);
};
};
AggregateController.$inject = ['$http', '$scope', '$window', '$timeout'];
angular.module('realEstate').controller('AggregateController', AggregateController);
})();
}).call(this);
inserzioni.json
[
{
"data": "08/10/2016",
"titolo": "CSCIV100",
"localita": "Centro Storico",
"tipologia": "Casa indipendente",
"contratto": "Vendita",
"camere": 3,
"bagni": 2,
"prezzo": 100000,
"fascia": "40-100",
"copertina": "./img/CSCIV100.jpg",
"galleria": [
"./img/CSCIV100.jpg",
"./img/CSCIV100.jpg"
]
}
]