これを行う方法がわからないため、問題が1つあります。 JSONAngularJSを使用してJsonの2つの値で平均を作成する
から私は1つJSONを持っていると私は2つの値を使用して平均を作りたい
JSON
[
{
"player": {
"info": {
"position": "D",
"shirtNum": 4,
"positionInfo": "Centre/Right Central Defender"
},
"nationalTeam": {
"isoCode": "BE",
"country": "Belgium",
"demonym": "Belgian"
},
"age": "27 years 139 days",
"name": {
"first": "Toby",
"last": "Alderweireld"
},
"id": 4916,
"currentTeam": {
"name": "Tottenham Hotspur",
"teamType": "FIRST",
"shortName": "Spurs",
"id": 21
}
},
"stats": [
{
"name": "goals",
"value": 5
},
{
"name": "losses",
"value": 20
},
{
"name": "wins",
"value": 48
},
{
"name": "draws",
"value": 23
},
{
"name": "fwd_pass",
"value": 1533
},
{
"name": "goal_assist",
"value": 2
},
{
"name": "appearances",
"value": 80
},
{
"name": "mins_played",
"value": 6953
},
{
"name": "backward_pass",
"value": 308
}
]
}]
「私はAngularJSで一つの関数を作ったが、良いですか私かどうかは知りませんm HTMLの値を呼び出して、目標の値とmins_playedの平均値を表示します。
私がやった角度での機能は、この
$scope.mediaGoals = function() {
for (var i = 0; i < $scope.Jugador.stats.length; i++) {
for (var x=0; x< $scope.Jugador.stats[i].stats.length; x++) {
switch($scope.Jugador.stats[i].stats[x].name) {
case 'goals':
var tmp_goals = $scope.Jugador.stats[i].stats[x].value;
break;
case 'mins_played':
var tmp_mins = $scope.Jugador.stats[i].stats[x].value;
break;
}
}
$scope.Jugador.stats[i].media = tmp_goals/tmp_mins;
}
}
であると私は、このHTML
<div class="stadistics">
<div class="cont-desc-player" ng-repeat="stat in Jugador.stats">
<div class="desc-player separador" ng-if="stat.name == 'appearances'">
<span class="txt-estadistics">Appearances</span>
<span class="num-estadistics">{{stat.value}}</span>
</div>
<div class="desc-player separador" ng-if="stat.name == 'goals'">
<span class="txt-estadistics">Goals</span>
<span class="num-estadistics">{{stat.value}}</span>
</div>
<div class="desc-player separador" ng-if="stat.name == 'goal_assist'">
<span class="txt-estadistics">Assists</span>
<span class="num-estadistics">{{stat.value}}</span>
</div>
<div class="desc-player separador" ng-if="stat.mediaGoals()">
<span class="txt-estadistics">Goals per match</span>
<span class="num-estadistics">{{stat.media}}</span>
</div>
</div>
</div>
をしてください行われ、私ならば、私は知らないので、あなたは?それで私を助けることができます機能が良好になり、何も表示されません。
に私のHTMLショーの出演、目標とアシストではなく、試合ごとに目標を変更することができます。私はここに$ scope.players = [...]を書きました。私のJSONはコントローラの中にあり、HTMLではng-repeat = "stat in Jugador.stats"と言ってstatに関するすべてのdetaisを表示し、ng-if私はdiv内の値を表示するだけで、実際には私はその機能を作成したので、おそらく私はそれを悪くし、HTMLから呼び出すことを試みた – derek
@デレクが私の編集を見て、助けてくれることを願っています。 –
私は何をしているのか分かりませんが、私がこれを行うと、プレイヤーの詳細を表示する前に、選択したWhitchプレーヤーに応じて、このプレーヤーの詳細を見ることができます。私は 'ng-if'を作成します。なぜなら、すべてではなく、いくつかの統計を表示しなければならないし、マッチ毎の平均値と1分当たりの平均値を作成しなければならないからです。 – derek