我在AngularJS模板中显示字段,如
{{ field }} : {{ data[field] }}
我希望如果data[field]
是一个对象,那么将Object
字显示为字符串,而不是将整个对象显示为JSON:
{{ isObject(data[field]) ? {{ data[field] }} : 'Object' }}
答案 0 :(得分:4)
您可以使用angular.isObject检查javascript中的typeof,https://docs.angularjs.org/api/ng/function/angular.isObject
angular.isObject(title) ? 'Object' :'not an object'
或者你也可以检查
angular.equals({},object)
对于您的上述情况,您可以将其用作过滤器,如下所示
{{text | isObject}}
App.filter('isObject',function(){
return function(input){
return angular.isObject(input) ? 'its a OBject' : 'not an object'
}
})
//可在控制器中验证
<p>{{AmIObject(text)}}</p>
$scope.AmIObject = function(input) {
return angular.isObject(input) ? 'its a OBject' : 'not an object'
}
答案 1 :(得分:0)
如果它是对象或对象数组,您可以执行类似
的操作<span ng-show="data[0][field]"></span>
这应该可以显示它是否是一个对象。
答案 2 :(得分:0)
$scope.isObj = angular.isObject;
in .html
<span ng-bind="isObj(data[0][field]) ? data[0][field] : 'not an object'"></span>