javascript - 在 Controller 中使用 $filter 进行 ng-repeat 数组

标签 javascript angularjs angularjs-filter

我正在尝试将 $filter 应用于从 Controller 填充 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>

我想在 Controller 中指定$filter,以便我可以动态生成list。我不想更改数组的内容。

编辑

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

最佳答案

根据我们的评论,您想要更改数组的项目,而不是返回数组的子集。因此,您想要的不是 filter 而是像 array.map 这样的方法。

numArray = numArray.map(function(i) {
    return i + " yards";
});

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

关于javascript - 在 Controller 中使用 $filter 进行 ng-repeat 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31150226/

相关文章:

javascript - 无法使用 D3 强制布局按节点属性绘制链接

javascript - 检测页面何时在 Firefox 插件中完成加载

javascript - 如何模拟或调用基本的 javascript 函数?

javascript - 将 html 元素 id 传递给 ng-class

javascript - 基于选择列表应用过滤器 - Angular JS

javascript - Controller 性能比较中的自定义过滤器与过滤器功能

javascript - Relay/GraphQL 上的身份验证和权限

javascript - CanJS 表格点击事件

node.js - 无法让 http-server 从 angular-seed github 项目中使用 nodejs 命令行运行

javascript - 使用 ngx-filter-pipe angular 过滤多个值