나는 드롭 다운 목록 organizations
가 $의 HTTP 요청을 사용하여 가득설정 기본 <select> 값은
<select ng-model="referral.organization"
ng-options="key as value for (key, value) in organizations">
</select>
있습니다. 또한 드롭 다운에 저장된 값에 해당하는 정수 organization
을 비롯한 여러 속성을 포함하는 referral
리소스가 있습니다. 현재 드롭 다운이 제대로 작동하고 새로운 값을 선택하면 내 referral
리소스가 문제없이 업데이트됩니다.
그러나 페이지로드시 서버에서 검색 한 referral.organization
의 값을 표시하는 대신 (즉, 이전에 저장된 referral
양식을 열 때) 드롭 다운이 비어 있습니다. 페이지가 처음로드 될 때 리소스가 비어있을 가능성이 높지만 정보를 성공적으로 검색하면 드롭 다운을 어떻게 업데이트합니까?
편집 : {{ organizations[referral.organization] }}
페이지의 다른 위치에 배치하면 선택한 값이 성공적으로 표시되지만 태그에이 표현식을 표시하는 방법을 모르겠습니다.
두 번째 편집 : 문제는 ngOptions에서 사용 된 키와 ngModel에서 사용되는 변수 사이의 불일치로 보입니다. <select>
옵션은 referral
모델이 정수를 반환하는 동안 WebAPI (사전으로 시작 함에도 불구하고)에서 문자열로 반환되었습니다. referral.organization
이 ngModel에 배치되었을 때 Angular는 2723을 "2723"등과 일치시키지 않았습니다.
여러 가지 시도를했지만 다음은 잘 작동하며 나에게 "가장 깨끗합니다". 은 $ 자원 GET에 대한 콜백에서 단순히과 같이 문자열에 필요한 변수를 변경 :
$scope.referral = $resource("some/resource").get(function (data) {
data.organization = String(data.organization);
...
});
확실하지 않음이 각도 ("1000"1000 일치하지 않는) 또는 WebAPI (문제로 간주되는 경우 Dictionary<int,String>
을 { "key":"value" }
으로 serialize)이 기능은 작동하며 <select>
태그는 여전히 referral
리소스에 바인딩됩니다. 방금 $scope.referral.organization
을 설정할 수 있습니다 그것은 마술 일 것이다 간단한 유형의
옵션이 비동기인지 또는 옵션이 객체인지에 대한 자세한 내용은이 질문 (및 답변)이 있습니까? –