2016-08-28 5 views
1

ローカルPHPファイルからJSON形式のデータを取得しています(ここにはスクリーンショットがあります)。'notArray'エラーを返すAngular JSフィルタ

enter image description here

フィルタが正常に動作しますが、あなたは、PICで見ることができるように私はこのエラーを取得しています。

の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を

<li ng-repeat="player in vm.players | filter: search"> 
    <a href="#">{{ player.name }}</a> 
</li> 

答えて

5

あなたはオブジェクトとしてアレイとないとして選手を初期化する必要があります。

vm.players = []; 
+0

これで問題は解決しました。ありがとう – enucar

+0

vm.players = s1.concat(s2)行の後に空白があることを意味しますか? – Dario

+0

フィドルを追加できますか? –

1

私はあなたを定義すべきだと思いますこのような配列:

vm.loading = true; 
vm.players = []; 

中かっこはありません。

2

これはオブジェクトです:

vm.players = {}; 

あなたは、上記の変数にObjectのないarrayのみObjectを挿入することができます。 arrayObjectを挿入するには、次のものが必要です。

vm.players = [];