Javascript 在角度表达中使用对象原型

Javascript 在角度表达中使用对象原型,javascript,angularjs,Javascript,Angularjs,如何在角度表达式中使用Object.keysobj.length 例如,这不起作用: {{Object.keysobj.length} 即使 {{obj}}打印出一个JSON对象。一个解决方案是将object.keys函数添加到作用域中: $scope.getKeys = Object.keys; 然后在模板中: {{getKeys(obj).length}} 只是好奇为什么物体不在范围内或什么的 因为角度表达式中不允许使用对象方法。如果您想查看还有什么是不允许的,请检查解析器 // ...

如何在角度表达式中使用Object.keysobj.length

例如,这不起作用:

{{Object.keysobj.length}

即使

{{obj}}打印出一个JSON对象。

一个解决方案是将object.keys函数添加到作用域中:

$scope.getKeys = Object.keys;
然后在模板中:

{{getKeys(obj).length}}
只是好奇为什么物体不在范围内或什么的

因为角度表达式中不允许使用对象方法。如果您想查看还有什么是不允许的,请检查解析器

// ...
} 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对象将必要的方法或对象显式地公开给作用域。

非常确定您必须使用一个函数-将obj传递给它是的,我想我应该将它传递给ng init并从那里使用它。只是好奇为什么物体不在范围内或什么的。。