Угловое удлинение против $provide.decorator

Я сбит с толку. Не могли бы вы уточнить разницу между angular.extend() и $ provide.decorator? Why and when use the second one? Декоратор делает что-то другое, чем расширение? Я не могу найти ответ после выполнения поиска...

1 ответ

Решение

angular.extend() это просто еще одна реализация стандартного инструмента расширения JavaScript. Вы можете найти много других похожих (если не идентичных) реализаций, таких как Object.assign (), jQuery's, Underscore's...

$provide.decorator() хотя это угловая реализация шаблона декоратора, и она намного мощнее, поскольку позволяет прозрачно изменять поведение поставщика, т. е. не нужно изменять зависимые объекты. Пример в документе довольно прост: каждый раз $log.warn() сообщение будет автоматически добавлено к префиксу 'Decorated Warn: ',

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