当前位置: 动力学知识库 > 问答 > 编程问答 >

angularjs - Are Angular.js services singletons or created each time?

问题描述:

I am confused about something regarding factories and services for Angular.js.

In this question:

angular.service vs angular.factory

It says that services are created with the new keyword.

While in this question:

confused about service vs factory

It says that services are "singletons".

My questions are:

When you add a 'service' as a dependency injection argument to another module, does Angular create a new service each time? Or is it really singleton (as in one will be created, and then provide that specific instance everywhere)?

网友答案:

Angular services are:

  • Lazily instantiated – Angular only instantiates a service when an application component depends on it.
  • Singletons – Each component dependent on a service gets a reference to the single instance generated by the service factory.

Github official doc.

网友答案:

"All AngularJS services are singletons. This means that there is only one instance of a given service per injector."

Read:

John Papa style guide. (In addition to answering your questions, are great recommendations to work with AngularJS).

AngularJS docs.

分享给朋友:
您可能感兴趣的文章:
随机阅读: