我无法根据所选值获取订单。 什么被认为是更好的做法?
<select ng-model='selected'>
<option value="name">Name</option>
<option value="score">Score</option>
</select>
<ul ng-repeat="shop in shops track by $index | orderBy: 'data.{{selected}}' ">
<li class="name">{{shop.data.name}}</li>
<li class="score">Score: {{shop.data.score}}</li>
<li><img ng-src="{{shop.data.img}}"> </li>
</ul>
答案 0 :(得分:2)
这是我尝试过的。
HTML:
<select ng-model="selected">
<option value="name">Name</option>
<option value="score">Score</option>
</select>
<ul ng-repeat="shop in shops | orderBy:selected">
<li class="name">{{shop.name}}</li>
<li class="score">Score: {{shop.score}}</li>
</ul>
JS:
$scope.shops= [ {name : "A",score : 13},
{name : "B",score : 11},
{name : "C",score : 12},
{name : "A",score : 11},
{name : "B",score : 12},
{name : "C",score : 11}
];
我认为您应该从ng-repeat中删除追踪。
编辑:
你的ng-repeat应该是这样的
<ul ng-repeat="shop in shops | orderBy: selected ">
请参阅此Plunker
请参阅您的fiddle
答案 1 :(得分:0)
以下ng-repeat应该可以解决这个问题
<ul ng-repeat="shop in shops | orderBy: selected track by $index ">
Here是一个有效的例子