当前位置: 首页 > 面试题库 >

将参数传递给angularjs过滤器

林烨华
2023-03-14
问题内容

是否可以将参数传递给filter函数,以便您可以按任何名称进行过滤?

就像是

$scope.weDontLike = function(item, name) {
    console.log(arguments);
    return item.name != name;
};

问题答案:

实际上,还有另一种(也许是更好的解决方案),您可以使用angular的本机“过滤器”过滤器,并且仍将参数传递给自定义过滤器。

考虑以下代码:

<div ng-repeat="group in groups">
    <li ng-repeat="friend in friends | filter:weDontLike(group.enemy.name)">
        <span>{{friend.name}}</span>
    <li>
</div>

要进行此工作,您只需将过滤器定义如下:

$scope.weDontLike = function(name) {
    return function(friend) {
        return friend.name != name;
    }
}

如您在这里看到的,weDontLike实际上返回另一个函数,该函数的范围内有您的参数以及来自过滤器的原始项。

我花了两天时间才意识到您可以执行此操作,但尚未在任何地方看到此解决方案。

检出angular.js过滤器的反极性,]以了解如何将其用于过滤器的其他有用操作。



 类似资料:
  • 问题内容: 这是我的config.json: 这是我的bash命令: 输出: 因此$ PRJNAME是prj1,但是第一次调用仅输出。 有人能帮我吗? 问题答案: 您的示例中的jq程序实际上会尝试查找名为的键。请尝试以下操作:

  • 问题内容: 我想知道是否有一种方法可以将参数传递给指令? 我想做的是从控制器添加一个指令,如下所示: 是否可以同时传递一个参数,以便我的指令模板的内容可以链接到一个作用域或另一个作用域? 这是指令: 如果我想使用相同的指令但使用$ scope.title2怎么办? 问题答案: 这是我解决问题的方法: 指示 控制者 现在,我可以通过同一指令使用不同的作用域,并动态附加它们。

  • 问题内容: 假设我有两个输入框,分别具有对应的ng-model作为fname和lname。如果我将http请求称为: 它会调用URL: 我在后端(python)遇到的错误是: 这些参数不以字符串形式发送吗?如果没有,该如何解决? 问题答案: 这是您的操作方式: Angular负责对参数进行编码。 Maxim Shoustin的答案不起作用(这不是有效的JavaScript文字),而JeyTheva

  • 问题内容: 看看这个小提琴,我必须更改什么,才能使用我在HTML中定义的参数来评估模板中的表达式?因为我通过了SAVE按钮,所以它应该调用控制器的- function? 我看不出来。感谢帮助! 问题答案: 您可以按照Roy的建议设置两种方式的数据绑定。因此,如果您既想要又绑定到本地范围,则可以 由于要传递这些值,因此可以在指令的控制器中访问它们。但是,如果您想在父作用域的上下文中运行一个函数,这似

  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?