У меня есть приложение AngularJS, которое извлекает данные из файла JSON.Часть данных добавляется в таблицу с помощью ng-repeat в шаблоне деталей.Когда я выбираю первый объект, данные, которые должны попасть в таблицу, работают нормально.Однако, когда я щелкаю по другому объекту, значения данных из предыдущего объекта остаются, и значения данных для вновь выбранного объекта добавляются внизу.
Как получить значения в таблице, чтобы они отображались только тогда, когда ихобъект выбран?Я использую метод .push()
для вставки значений, поэтому я подумал, что .slice()
в if statement
может быть решением, но пока не повезло.
JS
pplApp.directive("peopleDetails", function(FindSearch) {
return {
restrict: 'E',
scope: {
people: "=ngPeople"
},
templateUrl: 'ppl_details.html',
controller: function($scope, $element, $attrs, $templateCache, $rootScope, FindSearch) {
$scope.likesAndDislikes = [];
var results = [];
var item;
$scope.getNumber = function() {
array = new Array($scope.people.rating)
return array;
}
$scope.getLikesAndDislikes = function() {
$scope.likeAndDislikes = [];
results = [];
$scope.people.Likes.forEach(function(value, key) {
var insert = {
'likes': value,
'dislikes': $scope.people.Dislikes[key]
};
$scope.likesAndDislikes.push(insert);
});
}
$scope.$watch('people', function() {
$scope.getLikesAndDislikes();
});
}
};
});
Вот мой код в Plunker , чтобы получить полную картину.