所以我有两个数组,一个看起来有点谎言
$scope.users = {id: 1, email: xxx} {id: 2, email: xxx}....
我有这个
$scope.booking = {id: 20, regid: 2} ....
因此,目前用户正在显示在表格中。
但是如果用户有预订,我希望表格行有一个红色标记(不能共享表格,但它是一个基本的ng-repeat)所以如果用户标识在预订数组中存在regid,那么推送一些东西到用户
任何帮助都是邪恶的
答案 0 :(得分:0)
首先,您的$scope.users
和$scope.booking
对象不是数组...
我举例说明如何知道用户是否有书,所以继承人是代码和 plnkr
魔法在foreach和for循环中。
<强> HTML 强>
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.5.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js" data-semver="1.5.11"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<table>
<thead>
<th>ID</th>
<th>NAME</th>
<th>HAS BOOK</th>
</thead>
<tbody>
<tr ng-repeat="user in users">
<td>{{user.id}}</td>
<td>{{user.name}}</td>
<td>{{user.hasBook}}</td>
</tr>
</tbody>
</table>
</body>
</html>
<强> CONTROLLER 强>
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.users = [
{id:1, name:'john'},
{id:2, name:'barney'},
{id:3, name:'moroni'},
{id:4, name:'adam'},
{id:5, name:'sam'}
];
$scope.books = [
{id:1, regId:1, name:'book1'},
{id:2, regId:2, name:'book1'},
{id:5, regId:3, name:'book1'},
];
angular.forEach($scope.users, function(value, index){
for(var i =0; i< $scope.books.length; i++){
if(value.id === $scope.books[i].id){
value.hasBook = true;
}
}
});
console.log($scope.users);
});
答案 1 :(得分:-1)
您可以使用过滤器查找具有conrcrete用户标识的任何用户是否在预订表中。 检查此示例:
info.plist