2014-02-08 3 views
0

main.jsугловой поисковый фильтр - неизвестный поставщик

var myApp = angular.module('myApp', []); 

myApp.factory('Avengers', function() { 
    var Avengers = {}; 
    Avengers.cast = [ 
    { 
     name: 'Darius', 
     character: 'Darevicius' 
    } 

    ]; 
    return Avengers; 
}); 

function AvengersCtrl($scope, Avengers) { 
    $scope.avengers = Avengers; 
} 

index.html

<div ng-app="myApp"> 

<head> 
    <script src="http://code.angularjs.org/1.2.11/angular.min.js"></script> 
    <script src="main.js"></script> 
    </head> 

<div ng-controller="AvengersCtrl"> 
    <input type="text" ng-model="searchText"> 
    <table> 
     <tr ng-repeat="actor in avengers.cast | searchText "> 
     <td>{{ actor.name }}</td> 
     <td>{{ actor.character }}</td> 
     </tr> 
    </table> 
    </div> 

</div> 

Я получаю эту ошибку:

http://docs.angularjs.org/error/ $ Инжектор: unpr p0 = searchTextFilterProvider

?

и не понимаю, почему он не работает. Это собственный угловой фильтр и какая зависимость ему нужна? Когда я удаляю символ и фильтр канала, список печатается и ошибок нет. Таким образом, похоже, что он знает все зависимости.

Это пример оттуда:

http://www.thinkster.io/pick/ET1iee6rnm/angularjs-ngfilter

+1

он должен быть фильтром: searchText не searchText – michael

ответ

2

Попробуйте изменить эту строку

<tr ng-repeat="actor in avengers.cast | filter:searchText "> 

Согласно docs вам нужно, прежде чем указать filter:.

2

Изменение:

<tr ng-repeat="actor in avengers.cast | searchText "> 

в

<tr ng-repeat="actor in avengers.cast | filter:searchText "> 

Угловая пытается искать поставщика и применить его к нг-повтора; так как нет searchTextProvider, это не удается. Однако есть поставщик фильтров.

Смежные вопросы