Javascript “的重要性”$&引用;附加到AngularJS筛选器对象时
我试图理解我在文档网站上找到的与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>
搜索
的$
,用于以下行:
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
就可以用更少的代码获得相同的结果,但我相信$
可以更好地解释示例中过滤器的意图。感谢您的简单解释!我丢了那份文件真是太遗憾了。