배열이 'players'이고 각 플레이어의 이름, 점수 및 기타 속성이 있습니다.
<select ng-model="personToAsk">
<option value=''>Select who you want to ask</option>
<option ng-repeat="p in players" value="{{$index}}">{{p.name}} ({{p.score}} points)</option>
</select>
<p>Selected player: {{selectedPerson.name}}
그리고 내 컨트롤러 :
나는 내 부분에 다음이
$scope.selectedPerson = $scope.players[$scope.personToAsk];
그러나 {{selectedPerson.name}}
아무것도 출력되지 않습니다.
내 선수 배열의 색인을 하드 코드하면 ($scope.selectedPerson = $scope.players[0];
) 사람을 출력하지만 어떻게 동적으로 되나요? 플레이어가 드롭 다운에서 선택되면 이름이 아래로 만 표시됩니다.
내 템플릿에 {{personToAsk}}
을 입력하면 숫자가 출력됩니다.
1) 오히려 $ scope.selectedPerson = $ scope.personToAsk 여야합니다. 2) (이벤트에 응답하여) 올바른 장소에서이 임무를 수행 했습니까? –
1) $ scope.personToAsk는 선택한 옵션의 $ 인덱스이므로, 해당 숫자를 사용하여 플레이어 배열을 검색합니다. 2) 역동적 인 바인딩이 모든 일을 처리 할 수 있기를 기대했지만 AngularJS에 처음 왔으므로 분명히 그것이 어떻게 작동하는지 오해했습니다. – coopersita