angular tap into the component life cycle events from a parent module Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceangular 2 update app component from router outlet componentEmitting event from root component to router outlet child componentAngular 2 Activatedroute params not working in Service or outside <router-outlet>Angular 2 - children component in parents router outletHow to inject routes to external angular moduleHow to detect a new angular component is loaded in layout component?Code in Angular 2+ routing component not runningAngular 5 trigger navigation on parent router-outlet from child outletMonitor Angular component lifecycle hooksAngular 6 - How to access route resolved data from non routed components

Did the new image of black hole confirm the general theory of relativity?

When is phishing education going too far?

Why does this iterative way of solving of equation work?

Can a non-EU citizen traveling with me come with me through the EU passport line?

Passing functions in C++

What are the performance impacts of 'functional' Rust?

Cauchy Sequence Characterized only By Directly Neighbouring Sequence Members

Statistical model of ligand substitution

Who can trigger ship-wide alerts in Star Trek?

What can I do if my MacBook isn’t charging but already ran out?

How can you insert a "times/divide" symbol similar to the "plus/minus" (±) one?

90's book, teen horror

Replacing HDD with SSD; what about non-APFS/APFS?

Single author papers against my advisor's will?

What do you call the holes in a flute?

Autumning in love

Why use gamma over alpha radiation?

Active filter with series inductor and resistor - do these exist?

I'm having difficulty getting my players to do stuff in a sandbox campaign

How to politely respond to generic emails requesting a PhD/job in my lab? Without wasting too much time

How can players take actions together that are impossible otherwise?

Determine whether f is a function, an injection, a surjection

New Order #5: where Fibonacci and Beatty meet at Wythoff

How to say 'striped' in Latin



angular tap into the component life cycle events from a parent module



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
The Ask Question Wizard is Live!
Data science time! April 2019 and salary with experienceangular 2 update app component from router outlet componentEmitting event from root component to router outlet child componentAngular 2 Activatedroute params not working in Service or outside <router-outlet>Angular 2 - children component in parents router outletHow to inject routes to external angular moduleHow to detect a new angular component is loaded in layout component?Code in Angular 2+ routing component not runningAngular 5 trigger navigation on parent router-outlet from child outletMonitor Angular component lifecycle hooksAngular 6 - How to access route resolved data from non routed components



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















We have the following requirement.



We have a master root layout in the app root component.
In this layout we have a router-outlet and components are injected into the router-outlet by using the Angular routing mechanism.



We need to hook from the master root layout into the lifecycle events of the components being injected into the router-outlet.



Because if we register to the router events NavigationEnd it is sometimes being invoked before the component ngOnInit.
So we know when the navigation ends but we don't know when the component has finished doing work. Ideally we would like to tap into the lifecycle events of a component.



The requirement is also that the components being injected do not inherit a special class or something like that...



How can this be done?










share|improve this question




























    0















    We have the following requirement.



    We have a master root layout in the app root component.
    In this layout we have a router-outlet and components are injected into the router-outlet by using the Angular routing mechanism.



    We need to hook from the master root layout into the lifecycle events of the components being injected into the router-outlet.



    Because if we register to the router events NavigationEnd it is sometimes being invoked before the component ngOnInit.
    So we know when the navigation ends but we don't know when the component has finished doing work. Ideally we would like to tap into the lifecycle events of a component.



    The requirement is also that the components being injected do not inherit a special class or something like that...



    How can this be done?










    share|improve this question
























      0












      0








      0








      We have the following requirement.



      We have a master root layout in the app root component.
      In this layout we have a router-outlet and components are injected into the router-outlet by using the Angular routing mechanism.



      We need to hook from the master root layout into the lifecycle events of the components being injected into the router-outlet.



      Because if we register to the router events NavigationEnd it is sometimes being invoked before the component ngOnInit.
      So we know when the navigation ends but we don't know when the component has finished doing work. Ideally we would like to tap into the lifecycle events of a component.



      The requirement is also that the components being injected do not inherit a special class or something like that...



      How can this be done?










      share|improve this question














      We have the following requirement.



      We have a master root layout in the app root component.
      In this layout we have a router-outlet and components are injected into the router-outlet by using the Angular routing mechanism.



      We need to hook from the master root layout into the lifecycle events of the components being injected into the router-outlet.



      Because if we register to the router events NavigationEnd it is sometimes being invoked before the component ngOnInit.
      So we know when the navigation ends but we don't know when the component has finished doing work. Ideally we would like to tap into the lifecycle events of a component.



      The requirement is also that the components being injected do not inherit a special class or something like that...



      How can this be done?







      angular angular-routing






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 22 at 7:47









      stephan.petersstephan.peters

      375318




      375318






















          1 Answer
          1






          active

          oldest

          votes


















          0














          Maybe you can create a shared service that you inform when the components you want call in the lifecycle hooks such as ngOnInit, ngOnDestroy etc.



          @Injectable(
          providedIn: 'root'
          )
          export class LifeCycleHookService string - OnInit, OnDestroy etc.
          fireHook = (component, hookType) =>
          this.hookSubject.next(component, hookType);





          Then in your parent component, you can subscribe to onHookFired of the service.



          @Component(
          ...
          )
          export class ParentComponent implements OnInit
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.onHookFired.subscribe((event) =>
          // event.component
          // event.hookType
          )




          Then in your child components, you can inform the service on lifecycle hooks.



          @Component(
          ...
          )
          export class ChildComponent implements OnInit, OnDestroy
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.fireHook(this, 'onInit');


          ngOnDestroy()
          this.hookService.fireHook(this, 'onDestroy');




          Hope this gives you a hint.






          share|improve this answer























          • Hello. We don't have control on the components being injected. We can't ask them to invoke this.

            – stephan.peters
            Mar 22 at 8:49











          • Oh, got it. I don't know a way to do so then.

            – Harun Yılmaz
            Mar 22 at 8:52











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55295019%2fangular-tap-into-the-component-life-cycle-events-from-a-parent-module%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Maybe you can create a shared service that you inform when the components you want call in the lifecycle hooks such as ngOnInit, ngOnDestroy etc.



          @Injectable(
          providedIn: 'root'
          )
          export class LifeCycleHookService string - OnInit, OnDestroy etc.
          fireHook = (component, hookType) =>
          this.hookSubject.next(component, hookType);





          Then in your parent component, you can subscribe to onHookFired of the service.



          @Component(
          ...
          )
          export class ParentComponent implements OnInit
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.onHookFired.subscribe((event) =>
          // event.component
          // event.hookType
          )




          Then in your child components, you can inform the service on lifecycle hooks.



          @Component(
          ...
          )
          export class ChildComponent implements OnInit, OnDestroy
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.fireHook(this, 'onInit');


          ngOnDestroy()
          this.hookService.fireHook(this, 'onDestroy');




          Hope this gives you a hint.






          share|improve this answer























          • Hello. We don't have control on the components being injected. We can't ask them to invoke this.

            – stephan.peters
            Mar 22 at 8:49











          • Oh, got it. I don't know a way to do so then.

            – Harun Yılmaz
            Mar 22 at 8:52















          0














          Maybe you can create a shared service that you inform when the components you want call in the lifecycle hooks such as ngOnInit, ngOnDestroy etc.



          @Injectable(
          providedIn: 'root'
          )
          export class LifeCycleHookService string - OnInit, OnDestroy etc.
          fireHook = (component, hookType) =>
          this.hookSubject.next(component, hookType);





          Then in your parent component, you can subscribe to onHookFired of the service.



          @Component(
          ...
          )
          export class ParentComponent implements OnInit
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.onHookFired.subscribe((event) =>
          // event.component
          // event.hookType
          )




          Then in your child components, you can inform the service on lifecycle hooks.



          @Component(
          ...
          )
          export class ChildComponent implements OnInit, OnDestroy
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.fireHook(this, 'onInit');


          ngOnDestroy()
          this.hookService.fireHook(this, 'onDestroy');




          Hope this gives you a hint.






          share|improve this answer























          • Hello. We don't have control on the components being injected. We can't ask them to invoke this.

            – stephan.peters
            Mar 22 at 8:49











          • Oh, got it. I don't know a way to do so then.

            – Harun Yılmaz
            Mar 22 at 8:52













          0












          0








          0







          Maybe you can create a shared service that you inform when the components you want call in the lifecycle hooks such as ngOnInit, ngOnDestroy etc.



          @Injectable(
          providedIn: 'root'
          )
          export class LifeCycleHookService string - OnInit, OnDestroy etc.
          fireHook = (component, hookType) =>
          this.hookSubject.next(component, hookType);





          Then in your parent component, you can subscribe to onHookFired of the service.



          @Component(
          ...
          )
          export class ParentComponent implements OnInit
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.onHookFired.subscribe((event) =>
          // event.component
          // event.hookType
          )




          Then in your child components, you can inform the service on lifecycle hooks.



          @Component(
          ...
          )
          export class ChildComponent implements OnInit, OnDestroy
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.fireHook(this, 'onInit');


          ngOnDestroy()
          this.hookService.fireHook(this, 'onDestroy');




          Hope this gives you a hint.






          share|improve this answer













          Maybe you can create a shared service that you inform when the components you want call in the lifecycle hooks such as ngOnInit, ngOnDestroy etc.



          @Injectable(
          providedIn: 'root'
          )
          export class LifeCycleHookService string - OnInit, OnDestroy etc.
          fireHook = (component, hookType) =>
          this.hookSubject.next(component, hookType);





          Then in your parent component, you can subscribe to onHookFired of the service.



          @Component(
          ...
          )
          export class ParentComponent implements OnInit
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.onHookFired.subscribe((event) =>
          // event.component
          // event.hookType
          )




          Then in your child components, you can inform the service on lifecycle hooks.



          @Component(
          ...
          )
          export class ChildComponent implements OnInit, OnDestroy
          constructor(private hookService: LifeCycleHookService)

          ngOnInit()
          this.hookService.fireHook(this, 'onInit');


          ngOnDestroy()
          this.hookService.fireHook(this, 'onDestroy');




          Hope this gives you a hint.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 22 at 8:42









          Harun YılmazHarun Yılmaz

          1,85021320




          1,85021320












          • Hello. We don't have control on the components being injected. We can't ask them to invoke this.

            – stephan.peters
            Mar 22 at 8:49











          • Oh, got it. I don't know a way to do so then.

            – Harun Yılmaz
            Mar 22 at 8:52

















          • Hello. We don't have control on the components being injected. We can't ask them to invoke this.

            – stephan.peters
            Mar 22 at 8:49











          • Oh, got it. I don't know a way to do so then.

            – Harun Yılmaz
            Mar 22 at 8:52
















          Hello. We don't have control on the components being injected. We can't ask them to invoke this.

          – stephan.peters
          Mar 22 at 8:49





          Hello. We don't have control on the components being injected. We can't ask them to invoke this.

          – stephan.peters
          Mar 22 at 8:49













          Oh, got it. I don't know a way to do so then.

          – Harun Yılmaz
          Mar 22 at 8:52





          Oh, got it. I don't know a way to do so then.

          – Harun Yılmaz
          Mar 22 at 8:52



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55295019%2fangular-tap-into-the-component-life-cycle-events-from-a-parent-module%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript