If I inject a service 'Z' to component 'A' which spawns a dialog component 'B' which requires the service 'Z' to be a newly fresh copy of the service (provided in 'B' again). Will closing dialog 'B' "release" that nested service 'Z' so that component 'A' will see the original 'Z' service it provided before hand? Of course service 'Z' has a unique token used in both cases.
1
There are 1 best solutions below
Related Questions in ANGULAR
- Why is my angularjs site not completely crawlable?
- Best JSON-LD practices: using multiple <script> elements?
- How to estimate current situation of an old site not created by myself before i launch my new one?
- SEO friendly URl in asp.net
- How to run PhantomJS as a server and call it remotely?
- wordpress seo friendly url doesn't recognise template
- Google duplicate content issue for social network applications
- What should be the name of the sitemap file for Google SEO?
- Schema.org's BreadcrumbList not displaying correctly in Google's search results
- How to change Websites URL without using 301 redirection?
Related Questions in DEPENDENCY-INJECTION
- Why is my angularjs site not completely crawlable?
- Best JSON-LD practices: using multiple <script> elements?
- How to estimate current situation of an old site not created by myself before i launch my new one?
- SEO friendly URl in asp.net
- How to run PhantomJS as a server and call it remotely?
- wordpress seo friendly url doesn't recognise template
- Google duplicate content issue for social network applications
- What should be the name of the sitemap file for Google SEO?
- Schema.org's BreadcrumbList not displaying correctly in Google's search results
- How to change Websites URL without using 301 redirection?
Related Questions in ANGULAR-DEPENDENCY-INJECTION
- Why is my angularjs site not completely crawlable?
- Best JSON-LD practices: using multiple <script> elements?
- How to estimate current situation of an old site not created by myself before i launch my new one?
- SEO friendly URl in asp.net
- How to run PhantomJS as a server and call it remotely?
- wordpress seo friendly url doesn't recognise template
- Google duplicate content issue for social network applications
- What should be the name of the sitemap file for Google SEO?
- Schema.org's BreadcrumbList not displaying correctly in Google's search results
- How to change Websites URL without using 301 redirection?
Related Questions in ANGULAR-DI
- Why is my angularjs site not completely crawlable?
- Best JSON-LD practices: using multiple <script> elements?
- How to estimate current situation of an old site not created by myself before i launch my new one?
- SEO friendly URl in asp.net
- How to run PhantomJS as a server and call it remotely?
- wordpress seo friendly url doesn't recognise template
- Google duplicate content issue for social network applications
- What should be the name of the sitemap file for Google SEO?
- Schema.org's BreadcrumbList not displaying correctly in Google's search results
- How to change Websites URL without using 301 redirection?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, you can, you just add service
Z
to the providers of componentB
(the dialog).The lifecycle of
Z
will be tied toB
. There might be other instances ofZ
provided elsewhere, with different lifecycle, but the one provided byB
will shadow the other instances, ie.B
will get the instance coming from the provider from its own@Component
. Note that this applies toB
's child component, ie. this way the serviceZ
is also shadowed for those by this instance.To verify such situations (eg. what the lifecycle of things is, who gets which instance), I usually do the following
constructor
andngOnDestroy
of the items on question, eg. forB
andZ
in this caseIn this case, you would observe that possibly some instances of
Z
are created before the dialogB
is instantiated, but more importantly a new one will be instantiated forB
and also, it will be destroyed together withB
.Regarding this remark:
You probably don't need that, you can use a single token, possibly
Z
itself. The injection token is only for finding the provider, doesn't directly influence the lifecycle. The lifecycle depends on where the provider is.