Я пытаюсь перебрать ответ JSON и сортировать по другим ключом пары значений в объекте (значение объекта порядка, но похоже, что в настоящее время работает для меня.OrderBy не работает, как ожидалось
Может Я переформатировать объект по-другому, что я не мог думать так далеко?
я там что-нибудь, что я могу сделать в Угловое?
HTML
<div ng-app="myApp" ng-controller="Ctrl">
<div ng-repeat="item in myCards">
<h1>Title: {{item.title}}</h1>
<div ng-repeat="(blockName, majorBlock) in item.blocks | orderBy:'order'">
<h2>Name: {{blockName}}, Order: {{majorBlock.order}}</h2>
</div>
</div>
</div>
JS
angular.module('myApp', [])
.controller('Ctrl', function($scope) {
$scope.myCards = {
template: {
tagline: 'Tagline',
url: 'url',
title: 'My Title',
blocks: {
'cover': {
"coverUrl": "http://www.url.com/cover/",
"coverImage": "http://www.url.com/cover/",
"order": '1'
},
'text': {
"headerText": "amet anim est eu enim in incididunt cillum reprehenderit proident",
"order": '2'
},
'products_block': {
'order': '3'
}
}
}
};
});
Fiddle: http://jsfiddle.net/fvdb3d3p/
Я попробовал несколько хаков, с orderByArray плагин, но они ломаются остальную часть цикла.
спасибо за Ваш ответ, к сожалению, этот сценарий изменяет свои имена узлов: http://jsfiddle.net/zped9wLs/ –
@AdrianFlorescu Я просто сделал правку в пользовательскую функцию, так что вы можете получить доступ к исходному ключу. – Josep
@AdrianFlorescu делает этот ответ, чтобы решить ваш вопрос? Если это так, пожалуйста, примите его, если это не объясняет почему. Благодаря! – Josep