按$index跟踪显示的结果太多
track by $index shows too many results
所以我从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>
相关文章:
- 一个html元素的克隆次数太多
- ExtJS类的最佳实践最终导致了太多的.JS文件.性能怎么样
- 使用.slice分页选择了太多项目
- 堆排序实现进行了太多比较
- 如何在不每秒调用太多次的情况下通过Soundcloud解析api进行循环
- 如何修复“;太多递归”;ReactJS中的错误
- 为什么fs.readFile在windows上花费太多时间
- 如何避免webGL着色器加载给cpu带来太多负载
- node.js 需要太多的 TCP 套接字
- JavaScript循环迭代太多
- 函数崩溃,因为太多迭代jQuery
- 为什么不'当用户输入空格或字符太多/不够时,此函数会发出window.alert
- Angularjs:为什么重复做太多的工作
- Node.js错误:参数太多上传批量数据时出错
- ng重复调用控制器功能的次数太多
- 我正在验证一个联系人表单.我是不是过滤太多了
- Jquery-append函数花费了太多时间
- 为什么首先单击文档空白处的任何位置启动代码,而不是单击超链接,以及为什么打开了太多选项卡
- Facebook点赞按钮点赞太多了
- 按$index跟踪显示的结果太多