각도에서의 알파벳 순으로 정렬 드롭다운JS
ng-options를 사용하여 드롭다운을 채우고 있습니다.이 옵션은 컨트롤러에 접속되어 서비스를 호출합니다.불행히도 들어오는 데이터가 엉망이어서 알파벳 순으로 정렬할 수 있어야 합니다.
그런 걸 알아냈을 거야$.sortBy
할 수 있었는데 아쉽게도 잭은 안됐다.도우미 방법으로 javascript를 통해 정렬할 수 있다는 것을 알고 있습니다.function asc(a,b)
뭐 그런 것 같은데 더 깨끗한 방법이 없다는 것을 믿지 않고 도우미 방법으로 컨트롤러를 부풀리고 싶지도 않아요.이건 원칙적으로 너무 기본적인 건데 왜 Angular가JS는 이게 없어요.
이런 거 할 수 있는 방법이 있나요?$orderBy('asc')
?
예:
<select ng-option="items in item.$orderBy('asc')"></select>
에 옵션이 있는 것은 매우 편리합니다.orderBy
데이터를 정렬하려고 할 때마다 원하는 대로 할 수 있습니다.
Angular에는 다음과 같이 사용할 수 있는 orderBy 필터가 있습니다.
<select ng-model="selected" ng-options="f.name for f in friends | orderBy:'name'"></select>
주의할 필요가 있다track by
사용되고 있는 경우는, 다음에 표시할 필요가 있습니다.orderBy
필터는 다음과 같습니다.
<select ng-model="selected" ng-options="f.name for f in friends | orderBy:'name' track by f.id"></select>
필터를 사용할 수 있어야 합니다.orderBy
orderBy
에 대한 세 번째 옵션을 받아들일 수 있습니다.reverse
플래그를 설정합니다.
<select ng-option="item.name for item in items | orderBy:'name':true"></select>
이 항목은 '이름' 속성별로 역순으로 정렬됩니다.두 번째 인수는 임의의 순서 함수이므로 임의의 규칙 내에서 정렬할 수 있습니다.
@http://docs.angularjs.org/api/ng.filter:orderBy 참조
var module = angular.module("example", []);
module.controller("orderByController", function ($scope) {
$scope.orderByValue = function (value) {
return value;
};
$scope.items = ["c", "b", "a"];
$scope.objList = [
{
"name": "c"
}, {
"name": "b"
}, {
"name": "a"
}];
$scope.item = "b";
});
변수를 세 번째 레이어로 정렬하려는 경우:
<select ng-option="friend.pet.name for friend in friends"></select>
이렇게 하면 된다
<select ng-option="friend.pet.name for friend in friends | orderBy: 'pet.name'"></select>
언급URL : https://stackoverflow.com/questions/12310782/sorting-dropdown-alphabetically-in-angularjs
'programing' 카테고리의 다른 글
Dart: 모든 요소가 인용된 맵을 JSON으로 변환 (0) | 2023.03.12 |
---|---|
Oracle ODPNet With Entity Framework 6 - 엔티티 프레임워크 데이터베이스와 호환되는 공급자를 찾을 수 없습니다. (0) | 2023.03.12 |
UI 라우터 조건부 UI 뷰? (0) | 2023.03.12 |
디버깅하는 동안 오류가 발생했습니다. 2열의 토큰 '{' 키가 잘못되었습니다. (0) | 2023.03.12 |
WordPress에서 jQuery noConflict 모드를 끄는 방법이 있습니까? (0) | 2023.03.12 |