角度表达式从对象数组中的相等属性获取对象的属性
Angular expression get property of object from equal property in array of objects
对不起,标题不好,真的想不出一个专有的。
无论如何,我有一个对象数组,它们都列在 ng 重复中。然后,我想在另一个对象数组中找到该对象,该对象与上面的对象具有相同的 id,并获取其另一个属性。
我希望此示例代码将简化事情:
$scope.discussions = [
{
recipient: {
id: 'theid'
},
messages: []
}
];
$scope.friends = [
{
id: 'theid',
online: false
}
];
在我看来,我有:
<div ng-repeat="discussion in discussions">
<div>Online = {{//code here}}</div>
</div>
都试过了
ng-class="{online: {{friends.some(fr => fr.id == discussion.recipient._id).online}}; }"
和
ng-class="{online: friends.some(fr => fr.id == discussion.recipient._id).online }"
我的建议是在角度控制器中定义一个函数,可以将单个discussion
与$scope.friends
中的匹配元素进行匹配。 该函数可能如下所示(这可以改进,但它可以完成工作):
$scope.findMatchingId = function (discussion) {
var matchingFriend;
$scope.friends.some(function (friend) {
if (friend.id === discussion.recipient.id) {
matchingFriend = friend;
return true;
}
return false;
});
return matchingFriend;
};
然后在你的html中,你可以像这样在ng-repeat中的元素上调用该函数:
<div ng-repeat="discussion in discussions">
<div>Online = {{findMatchingId(discussion)}}</div>
</div>
查看此 plnkr
相关文章:
- 通过id和class属性获取元素
- 使用javascript从节点属性获取数组值
- 如何在jquery中通过自定义属性获取输入字段的值
- 通过特定的数据属性获取元素
- 如何使用js/jquery将数组中的数据属性获取到DOM上的h3中
- 在 GWT 中按属性获取 DOM 元素
- 将从元素的数据属性获取的字符串转换为 json
- 角度表达式从对象数组中的相等属性获取对象的属性
- 仅从背景图像属性获取 URL
- 通过 Javascript 从 href 属性获取查询字符串
- 如何使用事件触发器和自定义属性获取元素的子元素
- jQuery从标题属性获取动态生成的内容
- 单击时从数据属性获取更新的值
- jQuery 从数据属性获取路径
- 使用属性获取对象值的运行时间
- 通过 src 属性获取元素,使用 javascript 而不是 jquery
- 如何从 href 属性获取默认 id 值
- 使用 javascript 按属性获取 iframe 的元素
- 使用 jQuery 按名称属性获取选择值
- 硒:借助链接等属性获取元素的路径