gpt4 book ai didi

javascript - Angular ng-options,排序对象

转载 作者:行者123 更新时间:2023-11-30 09:39:57 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

{
3019: 'Javascript',
3046: 'Css'
}

然后,我在 select 中显示此对象,例如:

<select
ng-model="langChoosed"
ng-options="key as value for (key, value) in progLanguages"
></select>

我需要对 select 中的项目进行排序,但 orderBy 过滤器似乎只适用于数组,我怎样才能让它适用于对象?

最佳答案

NO order by 不能应用于普通对象,或者您可以在 Controller 中定义一个方法将对象转换为数组

演示

var app = angular.module('todoApp', []);

app.controller("dobController", ["$scope",
function($scope) {
$scope.progLanguages = {
3019: 'Javascript',
3046: 'Css'
};
$scope.templatesAry = function() {
var ary = [];
angular.forEach($scope.progLanguages, function(val, key) {
ary.push({
id: key,
lang: val
});
});
return ary;
};
}

]);
<!DOCTYPE html>
<html ng-app="todoApp">

<head>
<title>To Do List</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>

</head>


<body ng-controller="dobController">
<select class="form-control" id="selection" ng-model="currentSelected" ng-options="selection.id as selection.lang for selection in templatesAry() | orderBy:'lang'"></select>
</body>

</html>

关于javascript - Angular ng-options,排序对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41618713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com