order by dynamic
HTML
<div ng-app="myApp">
<div ng-controller="myCntrl">
<select ng-model='Obj.selected'>
<option value="data.name">Name</option>
<option value="data.score">Score</option>
</select>
{{Obj.selected}}
<ul ng-repeat="shop in shops | orderBy: Obj.selected ">
<li class="name">{{shop.data.name}}</li>
<li class="score">Score: {{shop.data.score}}</li>
</ul>
JavaScript
angular.module('myApp', [])
.controller("myCntrl", function ($scope) {
$scope.shops = [
{
"foo": "bar",
"data": {
"name": "a",
"score": "5"
}
},
{
"foo": "bar",
"data": {
"name": "b",
"score": "4"
}
},
{
"foo": "bar",
"data": {
"name": "c",
"score": "6"
}
}
];
})