在控制器中对 ng-repeat 数组使用 $filter

Use $filter in controller for ng-repeat array

我正在尝试将 $filter 应用于从控制器填充 ng-repeat 的数组。此数组为 ng-repeat="l in list".

指定 "list" 的内容

我可以做这样的事情吗?

var sidePanelFilter = $filter('sidePanel');

if (condition) {
    var numArray = myService.items;
    $scope.list = sidePanelFilter(numArray);
}

这是我的 HTML:

<li ng-repeat="l in list | orderBy track by $index">
  {{ l }}
</li>

我想在控制器中指定$filter,这样我就可以动态生成list。我不想更改数组的内容。

编辑

Here is a codepen 重现了我的问题。

根据我们的评论,您想要更改 数组的项目,而不是return 数组的子集。所以你想要的不是 filter 而是像 array.map.

这样的方法
numArray = numArray.map(function(i) {
    return i + " yards";
});

http://codepen.io/anon/pen/rVJVrz