javascript - 附加到 AngularJS 过滤器对象时 ".$"的意义

标签 javascript angularjs

我试图理解我在文档网站上找到的与 AngularJS 中的过滤有关的一段代码。 (参见 http://docs.angularjs.org/api/ng.filter:filter)

特别是附加到对象 search.$,它在以下几行中使用:

24.    Any: <input ng-model="search.$"> <br>
25.    Name only <input ng-model="search.name"><br>
26.    Phone only <input ng-model="search.phone"><br>
       ...
30.    <tr ng-repeat="friendObj in friends | filter:search:strict">

使用 JSFiddle 破解,我尝试删除 .$ 然后在输入字段中键入文本以应用过滤。这很好用。所以,一般来说,如果搜索过滤器可以在没有它的情况下工作,我为什么还要费心附加 .$ 呢?

我对 AngularJS(以及我想的 JS)还很陌生,到目前为止我一直很喜欢学习它。任何帮助将不胜感激。

最佳答案

如果您阅读过滤器页面,您会注意到这一行:

That's equivalent to the simple substring match with a string as described above.

所以基本上就是说,当您只输入 ng-model="search" 时,您使用的是字符串搜索,它默认搜索数组/对象中的所有字符串项。当您使用 search.$ 时,您指定要搜索对象中的每个项目。正如句子所解释的,这些是等价的。

虽然 search 用更少的代码实现了相同的结果,但我相信 .$ 更好地解释了示例中过滤器的意图。

关于javascript - 附加到 AngularJS 过滤器对象时 ".$"的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21518184/

相关文章:

angularjs - Protractor + chrome 驱动程序 : Element is not clickable at point

javascript - 如何使用剑道文件上传异步方法获得响应?

jquery - 如何在调用函数时使用模板值?

javascript - 使用 jQuery 替换 XMLHttpRequest

javascript - 当我们按下按钮时,进度条会增加

javascript - 使用JavaScript根据div中的数据字段设置图像背景

javascript - Sqlite 无法在混合应用程序中工作

javascript - 从 xml 字符串填充表单输入字段

javascript - 无法在 iOS 的 Webview 中的 html 文本框中写入文本

javascript - 如何在另一个模块中动态注入(inject)模块?