Hi Sander,

I found a patched new router that enabled $scope injection in the 
controllers. Many thanks for detailed explanation and suggestions.

Regards,
Tahir

On Wednesday, September 9, 2015 at 9:33:47 AM UTC+3, Sander Elias wrote:
>
> Hi Tahir,
>
> Well, you should start of with filing an issue with those 3rth parties. 
> This is a serious design flaw on their part. (Granted: Before ng-europe 
> 2014, nobody expected $scope to disappear!), but with our current 
> knowledge, this should be fixed. (and it is an easy fix for 95% of the 
> cases!)
>
> However, in the mean time, this leaves you with the need to inject the 
> scope into your component. There is little trick to do just that. $scope is 
> not available at the time of the controllers creation. (as you probably 
> have figured this out) so you can not inject it directly.
>
> Still, $scope is available for injection to the activate life-cycle-hook. 
> You can then hook it up to your controller, and you can access it as much 
> as you need. 
> something like this will work: (typed up in here, probably needs some 
> debugging an annotations to actually work!)
>
>     function WelcomeController() {
>         var vm=this;
>         console.log('Yay');
>         vm.hello='Welcome welcomes you!';
>     }
>     
>     WelcomeController.prototype.activate = function ($scope) {
>         this.scope = $scope
>     }
>     WelcomeController.prototype.activate.$inject = ['$scope'];
>
> However, while this is working, it is clearly not a clean path forward. 
> Try to avoid constructions like this as much as possible. The problem with 
> $scope is that you can't see from your template/js where a value is 
> originating from. That alone makes it a maintenance issue in the long run.
>
> 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 http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to