[英]ng-repeat different values based on url
我試圖基於當前url從對象數組中重復值。 假設當我的網址是“ localhost /#/ scores / javelin”時,我只想重復數組中的標槍得分。
我的數組如下所示:
$scope.ppl =
[
{
firstname: 'Donald',
lastname: 'Trump',
from: 'USA',
run100m: ['1s','2s','3s'],
javelin: ['50m','20m','44m']
},
{
firstname: 'Foo',
lastname: 'Bar',
from: 'SWE',
run100m: ['1s','2s','3s'],
javelin: ['80m','10m','54m']
},
];
將有15種以上的運動類型和人數未知的人群。 我不知道如何在不制作大量數組的情況下做到這一點。 我一直在嘗試各種各樣的方法來做到這一點,但是沒有任何事情沒有奏效。
這是我的重復內容:
<tr ng-repeat="x in ppl">
<td>{{x.firstname}}</td>
<td>{{x.lastname}}</td>
<td>{{x.from}}</td>
<td><span ng-repeat="y in x.run100m track by $index">{{ y }}</span>
</td>
<td><button>edit</button></td>
</tr>
這段代碼像這樣工作,但僅適用於run100m。 如果我將網址更改為/ javelin,則希望標槍得分在span范圍內。
我可以做這項工作的唯一方法是我創造
<span ng-show=" URL == javelin"></span>
等等。但是我不確定這是否很聰明。 所以我的問題是,我怎樣才能使這項工作變得聰明呢? ppl結構不必一定是這樣,但是如果我可以將所有信息都存儲在1個變量中,那就太好了。
哦,我忘了說我知道如何在控制器內部獲取url。 這不是這里的問題。
所以我想基於此變量重復:
var path = $routeParams.sport;
在表達式中使用屬性訪問器:
<tr ng-repeat="x in ppl">
<td>{{x.firstname}}</td>
<td>{{x.lastname}}</td>
<td>{{x.from}}</td>
<td><span ng-repeat="y in x[eventType] track by $index">{{ y }}</span>
</td>
<td><button>edit</button></td>
</tr>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.