programing

각도에서의 알파벳 순으로 정렬 드롭다운JS

i4 2023. 3. 12. 10:25
반응형

각도에서의 알파벳 순으로 정렬 드롭다운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";
    });

http://jsfiddle.net/Nfv42/65/

변수를 세 번째 레이어로 정렬하려는 경우:

<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

반응형