Angularjs 用于检查模型是数组还是对象的角度表达式

Angularjs 用于检查模型是数组还是对象的角度表达式,angularjs,Angularjs,如何检查角度模型是阵列还是对象?是否有内置的过滤器,或者是否必须使用编写过滤器isArray 不工作您可以使用angular.isArray功能。它内置在Angularjs内部 如果要在模板中使用此函数,必须创建自定义筛选器: 您想要的示例: angular.module('...', []).filter('isArray', function() { return function (input) { return angular.isArray(input); }; });

如何检查角度模型是阵列还是对象?是否有内置的过滤器,或者是否必须使用编写过滤器
isArray


不工作

您可以使用
angular.isArray
功能。它内置在Angularjs内部

如果要在模板中使用此函数,必须创建自定义筛选器:

您想要的示例:

angular.module('...', []).filter('isArray', function() {
  return function (input) {
    return angular.isArray(input);
  };
});
然后,您可以在模板中使用过滤器:

{{ myVar | isArray }}
<div ng-show="$root._.isArray(foo)"> 
   <label> First element of Foo </label>
   <span> {{ $root._.first(foo) }} </span>
</div>

我想您也可以将下划线/lodash添加到根范围并使用它:

_ = require('lodash')

angular.module('app',[])
.run(function($rootScope){ 
   $rootScope._ = _
})
在模板中:

{{ myVar | isArray }}
<div ng-show="$root._.isArray(foo)"> 
   <label> First element of Foo </label>
   <span> {{ $root._.first(foo) }} </span>
</div>

Foo的第一个元素
{{$root.{.first(foo)}

好处-您只需在一个地方添加lodash,它将在任何地方都可用。您可以用同样的方法使用许多其他东西,例如
Math
函数。要合理,不要在表达式中添加太多javascript。

google?哇。没找到。谢谢这在表达式
angular中不起作用。isArray
只能在javascript代码中使用。告诉我们为什么需要检查以及如何使用它。
scope.isArray=angular.isArray
谢谢。你说得对,这很有效。你知道是否有一个内置的检查这个或我需要推出自己的过滤器?这看起来像是一个基本的检查过滤器在Angular中不存在。你必须对它进行编码。如果你的问题解决了,别忘了接受答案;)