Поэтому я получил следующую ошибку от Angular:
Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys.
Поэтому я исправил это, выполнив следующие действия:
rooster in rooster.uren track by $index
Но что это, создавало тонну панелей, в то время как у jSon только 4 линии.
JS:
angular.module("PixelFM").controller("grootRoosterController", function ($http) {
var that = this;
that.uren = [];
$http({
method: 'GET',
url: '/assets/scripts/GROOTROOSTERTEST.json'
}).success(function(data) {
that.uren = data;
});
});
html, повторяющий повторы:
<div class="col-md-6" ng-repeat="rooster in rooster.uren track by $index">
<div class="panel panel-default">
<div class="panel-body grootrooster">
{{rooster.name}}
</div>
</div>
</div>
И по какой-то нечетной причине, что делает этот код, выдает миллион панелей, которые все остаются пустыми...
Как это возможно? Благодарю.
РЕДАКТИРОВАТЬ
Json;
[
{"host": "Adjuh5", "showname": "", "hour": "1446674064", "cohost": "Finicky"},
{"host": "Beatgrid", "showname": "", "hour": "1446674064", "cohost": ""},
{"host": "Adjuh5", "showname": "", "hour": "1446674064", "cohost": ""},
{"host": "Finicky", "showname": "", "hour": "1446674064", "cohost": ""}
]
Работает на меня! Проверьте свой вызов $ http и измените:
angular.module("PixelFM").controller("grootRoosterController", function ($http) {
var that = this;
that.uren = [];
$http({
method: 'GET',
url: '/assets/scripts/GROOTROOSTERTEST.json'
}).success(function(data) {
that.uren = data;
});
});
Для того, чтобы:
angular.module("PixelFM").controller("grootRoosterController", function ($scope, $http) {
$scope.rooster = {uren:[];
$http({
method: 'GET',
url: '/assets/scripts/GROOTROOSTERTEST.json'
}).success(function(data) {
$scope.rooster.uren = data;
});
});
angular.module('app', []).controller('mainCtrl', function($scope) {
$scope.rooster = {
uren: [{
"host": "Adjuh5",
"showname": "",
"hour": "1446674064",
"cohost": "Finicky"
}, {
"host": "Beatgrid",
"showname": "",
"hour": "1446674064",
"cohost": ""
}, {
"host": "Adjuh5",
"showname": "",
"hour": "1446674064",
"cohost": ""
}, {
"host": "Finicky",
"showname": "",
"hour": "1446674064",
"cohost": ""
}]
};
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='app' ng-controller='mainCtrl'>
<hr/>Quick-Ng-Repeat
<hr/>
<div ng-repeat="rooster in rooster.uren">
<div class="panel panel-default">
<div class="panel-body grootrooster">
{{rooster.host}}
</div>
</div>
</div>
</div>
ng-repeat="rooster in rooster.uren track by $index"
=>ng-repeat="r in rooster.uren track by $index"