如何在角度表达式中使用Object.keys(obj).length
?
例如,这不起作用:
{{Object.keys(obj).length}}
即使
{{obj}}
打印出一个JSON对象。
答案 0 :(得分:2)
只是好奇为什么Object超出了范围或什么
因为Angular表达式中不允许使用Object
方法。如果您想查看其他不允许的内容,请检查source code是否有解析器。
// ...
} else if (// block Object so that we can't get hold of dangerous Object.* methods
obj === Object) {
throw $parseMinErr('isecobj',
'Referencing Object in Angular expressions is disallowed! Expression: {0}',
fullExpression);
}
您可以做的是使用$scope
对象显式地向范围公开必要的方法或对象。
答案 1 :(得分:1)
一种解决方案是将Object.keys
函数添加到范围:
$scope.getKeys = Object.keys;
然后在模板中:
{{getKeys(obj).length}}