无法使用angular.isString来处理ng-repeat

Adr*_*sca 2 javascript angularjs

我正在尝试angular.isString与ng-if 进行比较,如果在ng-repeat中.但是返回了数组中的所有项.

所以我试着输出angular.isString结果,但它没有输出任何东西.

这是我想做的事情:

<li ng-repeat="item in data">
  <div ng-if="angular.isString(item)">
    {{ item }}
  </div>
</li>
Run Code Online (Sandbox Code Playgroud)
function MyCtrl($scope)
{
    $scope.data =
    [
        "Hello",
        "-",
        123
    ];
}
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴:http://jsfiddle.net/m6k13whh/2/

ela*_*con 7

根据范围评估角度表达式.您可以创建一个返回的函数angular.isString:

<li ng-repeat="item in data">
  <div ng-if="isString(item)">
    {{ item }}
  </div>
</li>

$scope.isString = function(item) {
    return angular.isString(item);
}
Run Code Online (Sandbox Code Playgroud)

您也可以使用该功能过滤所有项目:

<li ng-repeat="item in data | filter:isString">        
   <div>
       {{ item }}     
   </div>
</li>
Run Code Online (Sandbox Code Playgroud)