2

エントリがあります。それらの json オブジェクトは次のようになります

{ 
    'id': 5,
    'activityId': 1
}

次にアクティビティがあり、そのjsonオブジェクトは次のようになります

{
    'id': 1,
    'name': 'Activity name',
    'rate': 1200
}

今、私はこのようなエントリをレンダリングしています

<tr ng-repeat="entry in entries">
    <td>
        <activities></activities>
    </td>
    <td>
        // here's supposed to be the rate
    </td>
</tr>

アクティビティは、次のようなディレクティブです

app.directive("activities", function() {
    return {
        restrict: 'E',
        template: '<select ng-model="entry.activityId" ng-options="a.id as a.name for a in activities"></select>'
    }
});

ng-repeat 内でレートを出力できるようにするには、どうすればよいでしょうか。これはディレクティブ内にあるものの属性なので、ディレクティブの外に出力する必要があります。

ありがとう..

4

1 に答える 1

1

あなたが使用することができます:

{{(activities | filter:{id: entry.activityId})[0].rate}}

私はこれが少し醜いと思いますが。より良い方法は、おそらく両方のデータセットを読み込んだ後に、アクティビティをエンティティのプロパティとして直接追加することです。もう 1 つの方法は、エラーもチェックする自作のフィルターです (例: activityId が見つからないなど)。

http://plnkr.co/edit/4ljEdDFPBpOzueFuI6FT

于 2013-03-19T14:37:21.827 に答える