[英]Iterating through array angular
我正在關注待辦事項列表角度教程。 現在,我想遍歷所有待辦事項列表,並清除屬性完成為true的所有項目。
現在在我的index.html文件中,我有一個按鈕,其ng-click屬性為“ clearCompleted()”。 該功能在我的js文件中如下所示:
$scope.clearCompleted = function () {
$scope.todos = $filter($scope.todos, function(todo){
return !todo.done;
});
};
此功能有什么問題,因為它沒有清除設置為完成的待辦事項:true。
在更籠統的問題上,我可以按照“選擇屬性完成的所有項目都正確”的方式說些什么的典型方式,因為我更習慣於使用ruby而不是使用javascript。
$filter(name)
獲取具有該名稱的過濾器。 為了實際調用它,您可以編寫`$ filter(name)(/ filter的參數 /)
有一個預定義的過濾filter
,稱為filter
,可用於過濾陣列。 您傳遞一個對象進行比較:
$scope.clearCompleted = function () {
$scope.todos = $filter("filter")($scope.todos, {done:false});
};
它返回一個具有屬性的所有項目done
,其值為false
。
試試這個語法:
$scope.todos = $filter("filter")($scope.todos, function(todo){
示例: http : //jsfiddle.net/cherniv/89Qqs/
並且不要忘記先將$filter
服務注入控制器!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.