如何在AngularJS模板

时间:2015-06-21 08:47:40

标签: javascript angularjs

我在AngularJS模板中显示字段,如

{{ field }} :   {{ data[field] }}

我希望如果data[field]是一个对象,那么将Object字显示为字符串,而不是将整个对象显示为JSON:

{{ isObject(data[field]) ? {{ data[field] }} : 'Object' }}

3 个答案:

答案 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)

<。>在.js

$scope.isObj = angular.isObject;

in .html

<span ng-bind="isObj(data[0][field]) ? data[0][field] : 'not an object'"></span>