Temel olarak, tablodaki noktanın kesişimine dayanan bir değer tablosuna iki yönlü bağlamaya çalışıyorum. Buraya ulaşmak için çalışıyorum şeyin bir plnkr kurdumVerileri çaprazlamak için açısal bağlama tablosu
... bu veriler seti verilen
Yani
...$scope.beers = [
{ id: 27, description: "Hopslam Ale" },
{ id: 28, description: "Founders Kentucky Breakfast Stout" },
{ id: 29, description: "Zombie Dust" } ];
$scope.characteristics = [
{ id: 3, description: "ABV" },
{ id: 4, description: "IBU" },
{ id: 5, description: "Calories" },
{ id: 6, description: "Reviews"}];
$scope.crossData = [
{ beerId: 27, characteristicId: 3, value: 10 },
{ beerId: 27, characteristicId: 4, value: 70 },
{ beerId: 27, characteristicId: 5, value: 300 },
{ beerId: 27, characteristicId: 6, value: 3419 },
{ beerId: 28, characteristicId: 3, value: 11 },
{ beerId: 28, characteristicId: 4, value: 70 },
{ beerId: 28, characteristicId: 5, value: 336 },
{ beerId: 28, characteristicId: 6, value: 2949 },
{ beerId: 29, characteristicId: 3, value: 6 },
{ beerId: 29, characteristicId: 4, value: 50 },
{ beerId: 29, characteristicId: 5, value: 186 },
{ beerId: 29, characteristicId: 6, value: 1454 }];
Ben nasıl İki yönlü çapraz verilerdeki değere bağlanır mı?
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th ng-repeat="char in characteristics">
{{ char.description }}
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="beer in beers">
<td>{{ beer.description }}</td>
<td ng-repeat="char in characteristics">
<!-- some kind of binding expression here -->
</td>
</tr>
</tbody>
</table>
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
<span ng-repeat="cross in crossData" ng-if="cross.beerId === beer.id && cross.characteristicId === char.id">{{cross.value}}</span>
Ama başka bir veri yapısını olsaydı daha iyi olurdu, ama bu konuda hiçbir etkisi var sanırım:
Çok teşekkür ederim. Çok iyi bir yardımın var! Sizce hangi çözüm daha performanslıdır? – dascalos
İkisi aynı. Tek fark, mantığını nereye koyduğun. Fonksiyonları kullanmanın daha iyi olduğunu düşünüyorum çünkü her yerde yeniden kullanabilirsiniz. Eğer ikisine de bakarsanız, bunun aynı şey olduğunu görebilirsiniz. – vinagreti
Teşekkür ederim vinagreti! – dascalos