Giả sử tôi có người dùng sau:Làm thế nào để sắp xếp nguồn dữ liệu đối tượng trong ng-lặp trong AngularJS?
$scope.users = {
"2": {
email: '[email protected]',
name: 'John'
},
"3": {
email: '[email protected]',
name: 'Elisa'
}
}
Tôi muốn tạo ra một <select>
với các tùy chọn sau:
<option value="3">Elisa</option>
<option value="2">John</option>
Nói cách khác, người sử dụng nên được sắp xếp theo tên.
Tôi đã thử các sau đây bằng cách sử dụng cú pháp (key, value) in expression
, nhưng nó không hoạt động:
<option ng-repeat="(user_id, user) in users | orderBy:'user.name'"
value="{{ user.id }}">
{{ user.name }}
</option>
tôi thiếu gì?
Vui lòng không đề xuất giải pháp với ng-options
khi tôi sử dụng ui-select2
không tương thích với ng-options
.
Chúng ta không cần hai thẻ mới cho câu hỏi này và câu hỏi này mà thôi. Hãy làm cho các thẻ có lợi bằng cách thêm một wiki thích hợp và thêm chúng vào các câu hỏi có liên quan khác. Nếu bạn không thể tìm thấy các câu hỏi khác cho các thẻ, thì chúng không cần phải tồn tại hai lần trên ... – Charles
'ng-repeat' và' orderBy' là những thứ rất phổ biến trong AngularJS. Tôi tin rằng sẽ có nhiều câu hỏi hơn về hai điều này.Nhưng, dù sao, tôi đã thêm các thẻ này vào một số câu hỏi khác. –
Vì tôi thiếu uy tín để chính thức đề xuất cách viết thẻ thay thế, người khác ở đây nên thêm ** angularjs-order-by **. Có vẻ như vô nghĩa rằng con lạc đà đã đặt 'ngRepeat' sẽ trở thành' ng-repeat', trong khi 'orderBy' trở thành' orderby'. – maurice