Мне любопытно, что именно декораторы в AngularJS. Существует не так много информации в Интернете для декораторов, за исключением рекламного ролика в AngularJS documentation и краткого (хотя и интересного) упоминания в youtube video.Что такое «декораторы» и как они используются?
Как Угловые ребята положить его декоратор является:
Украшения службы, позволяет декоратору перехватить создание экземпляра сервисного . Возвращаемым экземпляром может быть исходный экземпляр, или новый экземпляр, который делегирует исходный экземпляр.
Я действительно не знаю, что это означает , и я не знаю, почему вы бы отделить эту логику от самой службы. Например, если бы я хотел вернуть что-то другое в разных условиях, я просто передал бы разные аргументы соответствующим функциям или использовал бы другую функцию, разделяющую это частное состояние.
Я все еще вроде AngularJS noob, поэтому я уверен, что это просто невежество и/или вредные привычки, которые я взял.
Удивительный пример. Я действительно интересовался, как расширить функциональность модулей сторонних модулей, не вмешиваясь в них. –
Действительно ли декораторы фактически уткают все экземпляры службы, или они охвачены только модулем, который их украшает? Другими словами, скажем, у меня есть модуль A, который украшает сервис из модуля B. Тогда у меня есть модуль C, который зависит от модуля A и модуля B. Внутри модуля C используется сервис из модуля B оригинальной или оформленной версии? –
@JonJaques - Это отличный вопрос. Я не сталкивался с такой ситуацией. Если бы я мог догадаться, версия службы, которую модуль C видит, должна быть украшена из модуля A, но я не могу сказать это точно, пока я не попробую сам. Почему бы вам не написать простой plunkr/jsffidle и поэкспериментировать с этим. Было бы здорово, если бы вы могли поделиться своим поиском с нами. Приветствия. – tamakisquare