$filter не является функцией AngularJS

app.controller('myController', ['$scope', '$http', '$filter', function($scope, $http, $filter) {

Выше приведен пример моего кода, где я пытаюсь использовать $http.get а также $filter внутри моего controller,

Единственная проблема, когда я использую это так, журнал консоли выдает ошибку, которая говорит $filter is not a function,

app.controller('myController', ['$scope', '$http', '$filter', function($scope, $filter, $http) {

Когда я обмениваю их, появляется ошибка, $http is undefined

3 ответа

Решение

Когда вы используете

app.controller('myController', ['$scope', '$http', '$filter', function($scope, $filter, $http) {

переменная $filter на самом деле является примером $http, а также $http это пример $filter, На самом деле не имеет значения, что написано в function(...) Титулы.

Здесь важен, например, порядок использования инъекционных препаратов.

app.controller('myController', ['$scope', '$http', '$filter', function(a, b, c) {

будет сопоставляться с экземплярами:

  • а -> сфера
  • b -> $ http
  • c -> $ фильтр

Из угловых документов:

Поскольку Angular выводит зависимости контроллера из имен аргументов в функцию-конструктор контроллера, если бы вы минимизировали код JavaScript для контроллера PhoneListCtrl, все его аргументы функции также были бы минимизированы, и инжектор зависимости не смог бы определить услуги правильно.

Таким образом, используя обозначение массива для вашего контроллера, вы убедитесь, что код будет работать после минимизации кода.

Добавить фильтр после http и угловая версия также защищает, как вы собираетесь использовать фильтр.

     plateFormController.$inject = ['$scope', '$http',
    '$filter','$timeout', '$q', '$mdSidenav', '$log'];



function plateFormController($scope, $http,$filter, $timeout, $q) {
          jsonByName=$filter('filter')($scope.json, { name: 'a' });
        }

В моем случае ожидаемый объект списка данных является нулевым, гарантируя, что ожидаемый объект списка не является нулевым. Я могу избежать этой ошибки.

Другие вопросы по тегам