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}}

虽然我觉得这有点难看。更好的方法是将活动直接添加为实体的属性,可能在加载两个数据集之后。另一种方法是自制过滤器,它也检查错误(例如,未找到活动 ID 等)。

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

于 2013-03-19T14:37:21.827 回答