Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度:对选择的选项进行排序_Angularjs_Sorting_Drop Down Menu - Fatal编程技术网

Angularjs 角度:对选择的选项进行排序

Angularjs 角度:对选择的选项进行排序,angularjs,sorting,drop-down-menu,Angularjs,Sorting,Drop Down Menu,我所拥有的巨型对象数组是按代码排序的,而不是人类友好的名称。我希望它显示友好 端口服务: var _getPorts = function (){ return _portList; } var _portList = [{ "code": "0101", "portOfEntry": "Portland, ME" }, { "code": "0102",

我所拥有的巨型对象数组是按代码排序的,而不是人类友好的名称。我希望它显示友好

端口服务:

    var _getPorts = function (){
        return _portList;
    }

    var _portList = [{
            "code": "0101",
            "portOfEntry": "Portland, ME"
        }, {
            "code": "0102",
            "portOfEntry": "Bangor, ME"
        }, {
            "code": "0103",
            "portOfEntry": "Eastport, ME"
        }, {
            "code": "0104",
            "portOfEntry": "Jackman, ME"
        }, ...
    vm.getPortsSelect = function () {
        vm.ports = portsService.getPorts();
    };
<select 
        ng-model="adminManifestVm.Manifest.usPortOfArrival"  
        ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
        name="usPortOfArrival" 
        class="form-control input-inline input-medium" 
        required>
    <option value=""></option>
</select>
控制器:

    var _getPorts = function (){
        return _portList;
    }

    var _portList = [{
            "code": "0101",
            "portOfEntry": "Portland, ME"
        }, {
            "code": "0102",
            "portOfEntry": "Bangor, ME"
        }, {
            "code": "0103",
            "portOfEntry": "Eastport, ME"
        }, {
            "code": "0104",
            "portOfEntry": "Jackman, ME"
        }, ...
    vm.getPortsSelect = function () {
        vm.ports = portsService.getPorts();
    };
<select 
        ng-model="adminManifestVm.Manifest.usPortOfArrival"  
        ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
        name="usPortOfArrival" 
        class="form-control input-inline input-medium" 
        required>
    <option value=""></option>
</select>
查看:

    var _getPorts = function (){
        return _portList;
    }

    var _portList = [{
            "code": "0101",
            "portOfEntry": "Portland, ME"
        }, {
            "code": "0102",
            "portOfEntry": "Bangor, ME"
        }, {
            "code": "0103",
            "portOfEntry": "Eastport, ME"
        }, {
            "code": "0104",
            "portOfEntry": "Jackman, ME"
        }, ...
    vm.getPortsSelect = function () {
        vm.ports = portsService.getPorts();
    };
<select 
        ng-model="adminManifestVm.Manifest.usPortOfArrival"  
        ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports"
        name="usPortOfArrival" 
        class="form-control input-inline input-medium" 
        required>
    <option value=""></option>
</select>


有很多方法可以手动对对象数组进行排序。有角度的方法吗?

你可以使用过滤器


您只需使用过滤器即可


是的,有角度的方法是使用。在这种情况下,过滤器如下所示:

<select ng-model="adminManifestVm.Manifest.usPortOfArrival"  
    ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy: 'code'"
    name="usPortOfArrival" 
    class="form-control input-inline input-medium" 
    required>
    <option value=""></option>
</select>

以下是来自
orderBy
文档的用法:

{{orderBy_expression}orderBy:expression:reverse:comparator}


如您所见,也可以使用反向布尔值反转顺序。表达式也可以选择加+或-前缀,以控制排序方向,升序或降序。例如,在本例中,“+code”或“-code”。

是的,角度的方法是使用。在这种情况下,过滤器如下所示:

<select ng-model="adminManifestVm.Manifest.usPortOfArrival"  
    ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy: 'code'"
    name="usPortOfArrival" 
    class="form-control input-inline input-medium" 
    required>
    <option value=""></option>
</select>

以下是来自
orderBy
文档的用法:

{{orderBy_expression}orderBy:expression:reverse:comparator}


如您所见,也可以使用反向布尔值反转顺序。表达式也可以选择加+或-前缀,以控制排序方向,升序或降序。例如,本例中的“+code”或“-code”。

是。非常感谢。已标记为答案。尝试过你的演示应用程序链接已失效,我收到“加载plunk时出错”是。非常感谢。已标记为答案。尝试过你的演示应用程序链接已失效,我收到“加载plunk时出错”