Thanks guys. for the time being I use windows location and store a reference to my user service in windows... That said this is definitely an area that needs improvement rather sooner than later. perhaps making the root injector easily accessible could solve that.
On Tuesday, December 29, 2015 at 3:14:40 PM UTC-8, Manfred Steyer wrote: > > Hi Martin, > > I think, that is a non avoidable side-effect of this workaround, cause > here, you create your own Injector instead of using Angular's Injector. > Unfortunatelly, there seems to be no way to get hold of Angular's Injector > within @CanActivate yet. But I hope, that this will change. > > Wishes, > Manfred > > Am Dienstag, 29. Dezember 2015 18:16:14 UTC+1 schrieb Martin Wawrusch: >> >> I tried using this strategy and only partially succeeded. It seems that >> canActivate is invoked BEFORE the bootstrap initializes its services, so I >> end up with three problems: >> >> 1. I have two instances of my singleton services ;-( >> 2. I have to list all services that my 'User' service depends on >> 3. Trying to inject a router in any referenced services, or through >> Injector.resolveAndCreate([Router]) , fails miserable with an Cannot >> resolve all parameters for Router(?,?,?). Make sure they all have valid >> type or annotations. >> >> Please advise... >> >> >> On Monday, December 28, 2015 at 9:30:30 AM UTC-8, Manfred Steyer wrote: >>> >>> Hi Sander, >>> >>> thanks for this info. >>> >>> Wishes, >>> Manfred >>> >>> >>> Am Montag, 28. Dezember 2015 05:51:36 UTC+1 schrieb Sander Elias: >>>> >>>> Hi Manfred, >>>> >>>> For now you can use the injector like this: >>>> let injector = Injector.resolveAndCreate([User]) >>>> let user = injector.get(User); >>>> >>>> But I believe the will be an extension to the decorator so it will >>>> become a bit easier to deal with. (This is for now just a gut feeling..) >>>> >>>> Regards >>>> Sander >>>> >>> -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
