Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套数据的AngularJS搜索_Angularjs_Angularjs Directive - Fatal编程技术网

嵌套数据的AngularJS搜索

嵌套数据的AngularJS搜索,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我对AngularJS是新手。我正在尝试基于用户名进行简单搜索,在我的情况下,用户名不存储在最顶层。以下是一个例子: <div ng-init="users = [ {'fields':{'name':'Mary Brown','person_nickname':'M'},'username':'mbrown'}, {'fields':{'name':'John Smith','person_nickname':'J-Dog'},'username':'jsmith'}]"> <

我对AngularJS是新手。我正在尝试基于用户名进行简单搜索,在我的情况下,用户名不存储在最顶层。以下是一个例子:

<div ng-init="users = [
{'fields':{'name':'Mary Brown','person_nickname':'M'},'username':'mbrown'},
{'fields':{'name':'John Smith','person_nickname':'J-Dog'},'username':'jsmith'}]">
</div>

Plnkr目前未运行,但如果您有要筛选的ng repeat,请查看官方文档,尤其是向上投票的评论非常有用:

myArray中的项|筛选器:{PropertyAtWillBeFiltered:value}


若您谈论的是在模型内部搜索,那个么您应该在数组上使用方法

我在上面添加了代码。我使用的是ng repeat,但我试图找出过滤器的值。angular文档中的示例假设数据位于顶层,而我无法让它与用户数据结构一起工作。我已经分叉并修改了您的plunk:在这里,您可以确切地看到如何编写过滤器表达式。
<!doctype html>
<html ng-app="App">
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.min.js"></script>
    <script type="text/javascript" src="script.js"></script>
  </head>

  <body>

    <div ng-init="users = [
      {'fields':{'name':'Mary Brown','person_nickname':'M'},'username':'mbrown'},
      {'fields':{'name':'John Smith','person_nickname':'J-Dog'},'username':'jsmith'}]">
    </div>    

    Name only <input ng-model="search.fields"><br>

    <table id="userTable">
      <tr ng-repeat="user in users | filter:search">
        <td>{{user}}</td>
      </tr>
    </table>    

  </body>
</html>