7

可以在angularjs中使用typeof吗?

我有一个 ngrepeat 循环遍历我的数据,应该检查数据是字符串还是对象。

<tr ng-repeat="text in data">
    <td>{{angular.isObject(text) && 'IsObject'||text}}</td>
</tr>
4

2 回答 2

7

在这种情况下请不要使用过滤器,它显然是控制器中一个函数的位置:

<tr ng-repeat="text in data">
    <td>{{isThisAnObject(text)}}</td>
</tr>

在你的控制器中:

$scope.isThisAnObject = function(input) {
    return angular.isObject(input) ? 'IsObject' : input;
};

它不仅代码更少,而且在许多其他地方也能更好地工作。过滤器用于非常特定的目的。不是这个!

于 2014-07-10T12:36:02.297 回答
4

听起来像是使用过滤器的好地方:

<tr ng-repeat="text in data">
    <td>{{text|displayText}}</td>
</tr>
angular.module('myApp').filter('displayText', function() {
    return function(text) {
       return angular.isObject(text) ? 'IsObject' : text;
    };
});
于 2013-09-23T22:03:21.933 回答