检查数组是否在angularjs中包含值

生命力

在客户端,我有$ scope.loggedInUser,它引用猫鼬用户架构。我正在使用的另一个模式是对话模式。每个用户都可以加入对话,在这种情况下,他将被添加到session.participants数组中,该数组的定义如下:

var conversationsSchema = new Schema({
    participants: {type: Array, default: []}
});

我只想在参与者数组中显示与当前用户(即,LoggedInUser)的对话。我试过了

ng-repeat="conversation in conversations" ng-if="conversation.participants.indexOf(logged_in_user) > -1"

但我没看到。如何检查ng-if中的元素是否正确存在于数组中(或通常以角度存在)?

迷你佛

您可以使用类似过滤器

ng-repeat="conversation in conversations | filter:logged_in_user"

我不确定视图方面的实现是否会挖掘到嵌套集合中,您可能必须在控制器中对其进行过滤

filteredConversations  = $filter(this.conversations,
{name:logged_in_user},doFiltering);

在哪里进行过滤是执行实际工作的一种方法,例如:

function (actual, expected) {
return actual.participants.indexOf(expected) > -1;
}

如果在控制器端执行此操作,请确保将$ filter注入到控制器中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章