Angular.js - 当前在ng-repeat中选择的选项值

时间:2013-03-19 14:15:49

标签: javascript angularjs ng-repeat

我有条目,他们的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中打印出来?因为它是指令内部的某个属性,但我需要它在指令之外打印。

谢谢..

1 个答案:

答案 0 :(得分:1)

您可以使用:

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

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

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