Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию Просмотреть исходный код $filterProvider

  1. $filter
  2. поставщик в модуле ng

Обзор

Фильтры — это просто функции, которые преобразуют входные данные в выходные. Однако фильтры должны быть введены в зависимости от них. Для достижения этого определение фильтра состоит из фабричной функции, которая аннотирована зависимостями и отвечает за создание функции фильтра.

Примечание: Имена фильтров должны быть допустимыми идентификаторами AngularJS Expressions, такими как uppercase или orderBy. Имена со специальными символами, такими как дефисы и точки, запрещены. Если вы хотите использовать пространства имен для своих фильтров, вы можете использовать прописные буквы (myappSubsectionFilterx) или подчеркивания (myapp_subsection_filterx).
// Filter registration
function MyModule($provide, $filterProvider) {
  // create a service to demonstrate injection (not always needed)
  $provide.value('greet', function(name){
    return 'Hello ' + name + '!';
  });

  // register a filter factory which uses the
  // greet service to demonstrate DI.
  $filterProvider.register('greet', function(greet){
    // return the filter function which uses the greet service
    // to generate salutation
    return function(text) {
      // filters need to be forgiving so check input validity
      return text && greet(text) || text;
    };
  });
}

Функция фильтра регистрируется в $injector под именем фильтра с постфиксом Filter.

it('should be the same instance', inject(
  function($filterProvider) {
    $filterProvider.register('reverse', function(){
      return ...;
    });
  },
  function($filter, reverseFilter) {
    expect($filter('reverse')).toBe(reverseFilter);
  });

Дополнительную информацию о работе фильтров AngularJS и о создании собственных фильтров см. в разделе Фильтры в руководстве разработчика AngularJS.

Методы

  • register(name, factory);

    Параметры

    Параметр Тип Подробности
    name stringObject

    Имя функции фильтра или объект-карта фильтров, где ключи — имена фильтров, а значения — фабричные функции фильтров.

    Примечание: Имена фильтров должны быть допустимыми идентификаторами AngularJS Expressions, такими как uppercase или orderBy. Имена со специальными символами, такими как дефисы и точки, запрещены. Если вы хотите использовать пространства имен для своих фильтров, вы можете использовать прописные буквы (myappSubsectionFilterx) или подчеркивания (myapp_subsection_filterx).
    factory Function

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

    Возвращаемое значение

    Object

    Зарегистрированный экземпляр фильтра, или если был предоставлен набор фильтров, то набор зарегистрированных экземпляров фильтров.

© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/provider/$filterProvider

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API