angularjs: $filter is undefined when trying to get filtered data

匿名 (未验证) 提交于 2019-12-03 02:54:01

问题:

Since days im trying to get this running: With the following snippet i want to filter some persons and after onchange was fired receive the objects which have been filtered. see this Code live here: http://jsbin.com/isojof/1/

Any idea?

There is noch $filter Object yet...but how to create one? $filter('filter') is obviously not working!

<html ng-app> <head>     <meta charset="UTF-8">     <title>Document</title>     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>  </head>   <body ng-controller="List">      Search: <input ng-change="getData(names, query)" ng-model="query">     Search: <select ng-change="getData(names, query2)" ng-model="query2">     <option></option>     <option>Berlin</option>     <option>Hamburg</option> </select>  <div>     <ul class="names" >         <li ng-model="item" " ng-repeat="name in names | filter:query | filter:query2">             {{name.firstname}}, {{name.lastname}}, {{name.age}}, {{name.location}}         </li>     </ul> </div>     <script type="text/javascript">     function List($scope) {         $scope.names = [         {"firstname": "Carl",         "lastname": "Luyk",         "age": 20,         "location":"Berlin"},         {"firstname": "Carl",         "lastname": "Moreen",         "age": 20,         "location":"Hamburg"},         {"firstname": "Tom",         "lastname": "Luyk",         "age": 25,         "location":"New York"},         {"firstname": "Caren",         "lastname": "Tilt",         "age": 20,     "location":"Paris"},         {"firstname": "Caren",         "lastname": "Orail",         "age": 30,         "location":"Hamburg"},         ]; $scope.getData = function (names, query) {   $scope.queryData = $filter('filter')(names, query);   console.log($scope.queryData); };        }     </script>  </body> </html>   

回答1:

You just need to inject $filter into your controller:

Change

function List($scope) { 

to

function List($scope, $filter) { 

http://jsbin.com/isojof/2/



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!