When does the auth happen relative to the client controller being constructed?
On Apr 20, 2014, at 9:24 PM, Billy Figueroa <[email protected]> wrote: > Ok so this issue has not been resolved. I am trying to avoid putting the > logic in my main controller. I did notice this has to be one of the "time" > issues you mentioned luke. > > I m guessing the MainController receives the broadcast because it is some how > already loaded and ready to go, but my client controller somehow is not? > > I tried one thing and noticed it is definately a timing issue. I put a > $timeout call for 1 second and I noticed that if I do that it hits the > broadcast. How can I deal with these timing issues? I tried to change my > logic from using jquery success callbacks to using the promise then instead > > ANYONE who can help can answer this, not just Luke. I addressed him because > hes been helping. Thanks Luke! > > On Thursday, April 17, 2014 9:53:56 PM UTC-4, Billy Figueroa wrote: > Hi All, > > so I have a quick issue with my controller ordering I guess. > > I have the following shell page layout... > > <html> > <head></head> > <body ng-controller="MainController"> > <div ng-view></div> > </body> > </html> > > I have an ng-view template that the routeProvider is loading (account.php) > when we hit the url and load ClientController... > > .when('/client/:user_id/account', { > templateUrl: '../MINT/views/account.php', > controller: 'ClientController', > restrict: true > }) > > I also have an AuthFacotory factory where, once a user logs in and I get data > back from my backend (PHP) I broadcast a signal to say we are authenticated > > if (phpData.account_type === 'client') > $rootScope.$broadcast('clientAuthenticated', phpData); > else > $rootScope.$broadcast('providerAuthenticated', > phpData); > > I have the following I guess "watches" both inside the MainController and > ClientController > > > <-- MainController --> > $scope.$on('clientAuthenticated', function(phpData) { > console.log("We caught the broadcast for > clientAuthenticated[MainController]"); > }); > > <-- ClientController --> > $scope.$on('clientAuthenticated', function(phpData) { > console.log("We caught the broadcast for > clientAuthenticated[ClientController]"); > }); > > > I am only "catching" the one in the MainController. > > Based on the structure being that the ClientController is loaded as part of > the view, I m guessing its some sort of a child of the MainController but why > is it not "catching" that broadcast? > > the weird part is that I have other code in the ClientController and that > gets executed but the console.log inside the scope statement is not > > I wanted to create a jsfiddle or plunker but I rarely get them working when I > try to do it in a non global modular way like real apps are written > i.e. var myApp = angular.module('myApp', []) > > -- > 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. -- 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.
