[英]Angular JS filter giving 'notArray' error
I'm getting data from my local PHP file as JSON format (here's a screenshot). 我从本地PHP文件中以JSON格式获取数据(这是屏幕截图)。
The filter works fine, but I'm getting this error as you can see in the pic. 筛选器工作正常,但是您在图片中看到了这个错误。
core.js core.js
var app = angular.module('cnrapp', []);
app.controller('listController', function($http) {
var vm = this;
vm.loading = true;
vm.players = {};
$http.get("api/players.php")
.then(function (res) {
var s1 = res.data.servers[0].players;
var s2 = res.data.servers[1].players;
vm.players = s1.concat(s2);
vm.loading = false;
console.log(vm.players);
});
});
index.html index.html
<li ng-repeat="player in vm.players | filter: search">
<a href="#">{{ player.name }}</a>
</li>
您应该将播放器初始化为数组而不是对象:
vm.players = [];
This is an object: 这是一个对象:
vm.players = {};
You can insert only Object
in above variable, not an array
of Object
. 可以只插入Object
在上述变量,而不是一个array
的Object
。 To insert an array
of Object
s, you need: 要插入一个Object
array
,您需要:
vm.players = [];
I think you should define your array like this: 我认为您应该像这样定义数组:
vm.loading = true;
vm.players = [];
Not with curly brackets. 不带花括号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.