在ng-repeat

时间:2015-04-28 14:03:36

标签: javascript json angularjs

我想知道从ng-repeat中吐出的JSON对象中获取值的子字符串的最佳方法是什么。目前我有:

<tr data-ng-repeat=" item in records | orderBy : '-score' | limitTo : 10 " ng-click="moreInfo(item)">
    <td>{{$index+1}}</td>
    <td>{{item.name}}</td>
    <td>{{item.score}}</td>
</tr>

页面上显示的内容为user-SmithJoe。我想知道在html中是否有可能做{{item.name.substring(5,item.name.length())}}之类的事情。我确信这不起作用,但希望你理解我想从中完成的事情。我最终只想要SmithJoe作为输出。

这是js:

data2.forEach(function(r) {
  if (r && r.user && r.user.toLowerCase().indexOf($scope.searchText.toLowerCase()) !== -1) {
    $scope.records.push(r);
  }
});

对于每个部分,它只是遍历所有返回的json对象,如果它们包含我正在寻找的内容,则将它们添加到records[]。所以既然我这样做了,我没有真正看到有什么方法可以采用子串@那个点?

感谢。

2 个答案:

答案 0 :(得分:3)

迭代时向对象添加属性:

data2.forEach(function(r) {
    if (r && r.user && r.user.toLowerCase().indexOf($scope.searchText.toLowerCase()) !== -1) {
        r.prettyName = r.name.replace("user-", "");
        $scope.records.push(r);
    }
});

输出该名称:

<td>{{item.prettyName}}</td>

答案 1 :(得分:1)

{{item.name.slice(5)}}

应该有效:)