Ng-Model ="something.$"这是什么意思?

Luk*_*unk 6 javascript angularjs angularjs-directive angularjs-filter

我是Angular的新手,我正在阅读过滤器文档,我看到了这段代码.

    <label>Any: <input ng-model="search.$"></label> <br>
    <label>Name only <input ng-model="search.name"></label><br>
    <label>Phone only <input ng-model="search.phone"></label><br>


    <tr ng-repeat="friendObj in friends | filter:search:strict">
Run Code Online (Sandbox Code Playgroud)

我不知道这ng-model="search.$"意味着什么.双向绑定ng-model是明确的,但是"search.$"呢?这是做什么以及如何使用过滤器.

我试着搜索这个并找不到任何东西.谢谢!

PSL*_*PSL 4

它特定于过滤器逻辑。$用作属性匹配器来匹配列表中对象的所有属性的值。因此,在过滤器中,绑定表达式是对象search,并将匹配器字符串指定为$属性(这是搜索输入的 ng-model)search将使过滤器能够比较 的所有属性的值friendObj以进行匹配。

参见文档

请注意,命名属性将仅匹配同一级别的属性,而特殊的 $ 属性将匹配同一级别或更深级别的属性。例如,像 {name: {first: 'John', last: 'Doe'}} 这样的数组项不会被 {name: 'John'} 匹配,但会被 {$: 'John'} 匹配。