亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular:無法讀取未定義的屬性“id”

Angular:無法讀取未定義的屬性“id”

交互式愛情 2023-10-04 16:58:23
我試圖在用戶選擇游戲時加載玩家列表,但是我收到 Cannot read property 'id' of undefined at m.$scope.getPlayers (campaigns-players.js:104)我在另一個頁面上使用了類似的方法,但是它在這個頁面上給了我這個錯誤,所以我不太確定這次我做錯了什么。感謝您的幫助!HTML;<div class="card-body">                    <div class="form-group">                        <label class="col-md-3 col-form-label">List of Games</label>                        <select class="form-control" id="gameList" ng-model="game" ng-change="getPlayers()">                            <option ng-repeat="game in allGames" ng-value="{{game.id}}"> {{game.name}}</option>                        </select>                    </div>                    <div class="form-group">                        <label for="name">List of Players</label>                        <select class="form-control" id="ccmonth" ng-model="selectedPlayer">                            <option ng-repeat="player in players" ng-value="{{player.id}}"> {{player.name}}</option>                        </select>                    </div>                    <div class="form-group">                        <label class="col-md-3 col-form-label">Player Name</label>                        <input type="text" class="form-control" id="entityNameUpdate" ng-model="entityNameUpdate">                    </div>                    <div class="form-group">                        <label for="name">Which game player in?</label>                        <select class="form-control" id="updatedGamePlayer" ng-model="updatedGame">                            <option ng-repeat="updatedGame in allGames" ng-value="{{updatedGame.id}}"> {{updatedGame.name}}</option>                        </select>                    </div>                    <div class="col-sm-4">                        <button type="submit" class="btn btn-sm btn-primary" ng-click="save()"><i class="fa fa-dot-circle-o"></i>                            Save</button>                    </div>
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

解決方案1


HTML:


<select class="form-control" id="gameList" ng-model="game" ng-change="getPlayers()">

<option ng-repeat="game in allGames" ng-value="{{game.id}}"> {{game.name}}</option>

</select>

在 getPlayers() 中


var url = apiUrl + "/game/" + $scope.game;

解決方案2:


HTML:


<select class="form-control" id="gameList" ng-model="game" ng-change="getPlayers()">

<option ng-repeat="game in allGames" ng-value="{{game}}"> {{game.name}}</option>

</select>

在 getPlayers() 中


var url = apiUrl + "/game/" + $scope.game.id;

運行以下代碼片段


  angular

    .module('myapp',[])

    .controller('ctrl', function($scope){

     $scope.game;

     $scope.allGames=[

     {

       name:"GTA",

       id:1

     },

     {

      name:"PUBG",

       id:2

     }

     ];

     $scope.getPlayers= function () {

        var url = "apiUrl/game/" + $scope.game.id;

        console.log(url);

    }});

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js"></script>

<div ng-app="myapp" class="card-body">

    <div ng-controller="ctrl" class="form-group">

        <label class="col-md-3 col-form-label">List of Games</label>

        <select class="form-control" id="gameList" ng-model="game" ng-change="getPlayers()">

        <option ng-repeat="game in allGames" ng-value="game"> {{game.name}}</option>

        </select>

</div>

</div>


查看完整回答
反對 回復 2023-10-04
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

將此處的 ng-value 從 game 更改為 game.id


<div class="card-body">

    <div class="form-group">

        <label class="col-md-3 col-form-label">List of Games</label>

        <select class="form-control" id="gameList" ng-model="game" ng-change="getPlayers()">

        <option ng-repeat="game in allGames" ng-value="{{game.id}}"> {{game.name}}</option>

        </select>

</div>

在js代碼中定義$scope.game;


$scope.game;

 $scope.getPlayers = function () {

        var url = apiUrl + "/game/" + $scope.game.id;

        $http.get(url, config)

            .then(function (response) {

                    if (response.data) {

                        $scope.players = response.data;

                    } else {

                        $scope.showErrorMessage("Player not found");

                    }

                },

                function (error) {

                    $scope.responseErrorCheck(error);

                }

            );

    };


查看完整回答
反對 回復 2023-10-04
  • 2 回答
  • 0 關注
  • 117 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號