javascript - 迭代数组 Angular

标签 javascript angularjs

我正在关注待办事项列表 Angular 教程。现在,我想循环遍历所有待办事项列表并清除属性 did 为 true 的所有项目。

现在在我的 index.html 文件中,我有一个带有 ng-click 属性“clearCompleted()”的按钮。该函数在我的 js 文件中如下所示:

$scope.clearCompleted = function () {
  $scope.todos = $filter($scope.todos, function(todo){
    return !todo.done;
  });
};

这个函数有什么问题,因为它没有清除设置为done:true的待办事项。

在更一般的问题中,我可以说“选择属性 did 为 true 的所有项目”之类的典型方式是什么,因为我更习惯 ruby​​ 而不是 javascript。

最佳答案

$filter(name)获取具有该名称的过滤器。为了实际调用它,您可以编写 `$filter(name)(/过滤器的参数/)

有一个名为 filter 的预定义过滤器,可用于过滤数组。您传入一个对象进行比较:

$scope.clearCompleted = function () {
    $scope.todos = $filter("filter")($scope.todos, {done:false});
};

这将返回具有属性 done 且值为 false 的所有项目。

关于javascript - 迭代数组 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20887732/

相关文章:

javascript - 使用 jquery 追加函数后访问 jquery 元素

使用单选按钮和 ng-repeat 进行 AngularJS 表单验证

javascript - angularjs - 指令中的动态回调

javascript - 检测同义链接

JavaScript 如何从作为参数传递的对象访问变量?

javascript - 在 JavaScript 中为 Knockout Observable 编写类似 C# 的扩展

javascript - Angular js像重叠的电子邮件线程一样显示gmail

javascript - 如何调用WKWebView的evaluateJavaScript方法

javascript - AngularJS 在不活动后显示视频,隐藏视频并重置为点击开始

angularjs - 获取 Angular 指令属性值返回 'undefined'