Javascript “的重要性”$&引用;附加到AngularJS筛选器对象时

Javascript “的重要性”$&引用;附加到AngularJS筛选器对象时,javascript,angularjs,Javascript,Angularjs,我试图理解我在文档网站上找到的与AngularJS过滤相关的一段代码。(参见) 特别是,附加到对象搜索的$,用于以下行: 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>

我试图理解我在文档网站上找到的与AngularJS过滤相关的一段代码。(参见)

特别是,附加到对象
搜索
$
,用于以下行:

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">
24。任何:
25仅限姓名
26仅限电话
... 30
使用JSFIDLE进行破解,我尝试删除
$
,然后在输入字段中键入文本以应用过滤。这很有效。所以,一般来说,如果搜索过滤器没有它也可以工作,我为什么还要麻烦附加
$


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

它可以搜索对象的所有属性。在使用
search.name
的情况下,您只搜索
name
属性匹配的对象,但
search.$
搜索所有属性

可以使用特殊属性名$(如{$:“text”})来接受与对象的任何属性的匹配。这相当于上面描述的简单子字符串与字符串匹配


中,如果您阅读筛选页面,您将注意到以下行:

这相当于上面描述的简单子字符串与字符串匹配

因此,基本上就是说,当您只放置
ng model=“search”
时,您使用的是字符串搜索,默认情况下,它搜索数组/对象中的所有字符串项。使用
search.$
时,指定要搜索对象中的每个项目。正如这句话所解释的,它们是等价的


虽然只需
search
就可以用更少的代码获得相同的结果,但我相信
$
可以更好地解释示例中过滤器的意图。

感谢您的简单解释!我丢了那份文件真是太遗憾了。