假设以下数据:
var roster = [
{
id: 1,
attended: true,
person: {printName: 'Larry'}},
{
id: 2,
attended: false,
person: {printName: 'Curly'}},
{
id: 3,
attended: true,
person: {printName: 'Moe'}}];
我试图找到出席的数组中的对象计数为真。我尝试了以下方法:
rosters.html:
{{ (roster | filter:{attended:true} ).length }}
rosters-controller.js:
checkedInCount: function() {
return $filter('filter')($scope.roster, attended.true).length;
}
html过滤器按预期工作,在此实例中返回2。但是,函数版本遇到错误
ReferenceError: Can't find variable: attended
。我假设函数中缺少一些琐碎的东西,但是我不确定它是什么。 最佳答案
使用对象作为表达式:
return $filter('filter')($scope.roster, { attended: true }).length;