簡體   English   中英

ng根據網址重復不同的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM