ngOptions 참조
ngOptions (선택 사항) – { comprehension_expression=
} – 다음 형식 중 하나입니다.
배열 데이터 소스의 경우 :
label for value in array
select as label for value in array
label group by group for value in array
select as label group by group for value in array track by trackexpr
오브젝트 데이터 소스의 경우 :
label for (key , value) in object
select as label for (key , value) in object
label group by group for (key, value) in object
select as label group by group for (key, value) in object
귀하의 경우에는
array = [{ "value": 1, "text": "1st" }, { "value": 2, "text": "2nd" }];
<select ng-options="obj.value as obj.text for obj in array"></select>
최신 정보
AngularJS의 업데이트를 통해 이제 expression을 사용 value
하여 select
요소 의 속성에 대한 실제 값을 설정할 수 있습니다 track by
.
<select ng-options="obj.text for obj in array track by obj.value">
</select>
이 못생긴 것들을 기억하는 법
이 구문 양식을 기억하기 어려운 모든 사람들에게 나는 이것이 가장 쉬운 구문이 아니라는 데 동의합니다. 이 문법은 일종의 파이썬 목록 이해의 확장 버전이며 구문을 매우 쉽게 기억하는 데 도움이됩니다. 다음과 같습니다.
파이썬 코드 :
my_list = [x**2 for x in [1, 2, 3, 4, 5]]
> [1, 4, 9, 16, 25]
# Let people to be a list of person instances
my_list2 = [person.name for person in people]
> my_list2 = ['Alice', 'Bob']
이것은 실제로 위에 나열된 첫 번째 구문과 동일한 구문입니다. 그러나 <select>
일반적으로 코드의 실제 값과 <select>
요소 에 표시된 텍스트 (라벨)를 구별해야합니다 .
마찬가지로 person.id
코드에는 필요 하지만 id
사용자 에게 표시하고 싶지는 않습니다 . 우리는 그 이름을 보여주고 싶습니다. 마찬가지로 person.name
코드 에도 관심이 없습니다 . as
물건을 분류 하는 키워드가 있습니다. 따라서 다음과 같이됩니다.
person.id as person.name for person in people
또는 인스턴스 / 참조 자체 person.id
가 필요할 수도 person
있습니다. 아래를보십시오 :
person as person.name for person in people
JavaScript 객체의 경우에도 동일한 방법이 적용됩니다. 객체의 항목이 (key, value)
쌍으로 구성 되어 있음을 기억하십시오 .