thanks for the suggestions Rishi.. i was searching on this topic for a long time and couldn't find anything that answered my question directly. changing the modal from a $rootScope function to a service will be a good exercise.
On Mon, Sep 15, 2014 at 10:37 AM, Tandon, Rishi <[email protected]> wrote: > Otto, That's an excellent question. > Avoid injecting the model to $rootscope as that would increase > unnecessary overhead all over the app. Instead, create a reusable service > and use where it is needed. > The good candidates for $rootscope are: > 1. User Logged-in info. > 2. Device/ Browser/ Orientation detection > 3. httpSessionTimedOut global handler > 4. $routeChangeStart, $routeChangeSuccess & $routeChangeError global > handler > 5. Global app search > > Regards > Rishi Tandon > > On Mon, Sep 15, 2014 at 10:18 AM, Otto Wong <[email protected] > > wrote: > >> hi there.. i'm semi-new to angularjs, ie, i've been using it for a while >> now but i have no clue if what i'm building is against best practices or >> not! :) >> >> i'm coming to a point in my application where it's becoming apparent due >> to changes in requirements that certain features should have been done by >> creating a service, since multiple different places in the application are >> needing to do the same thing. >> >> a while back, i needed to open modals. this type of requirement is very >> easy to identify as "something that requires multiple places to do the same >> thing". back then, i was less familiar with services and factories and >> solved this problem by creating a function defined in the $rootScope, so >> every time i need to open a modal now, i include $rootScope in the >> controller that needs it and open it with a function that goes something >> like $rootScope.modal('open',url);, and close it with >> $rootScope.modal('close',''); >> >> is this way of doing it wrong or against best practices? i'd like to know >> if there is a performance difference between creating a service and just >> defining a lot of $rootScope functions? >> >> thanks! >> >> -- >> 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. >> > > > > -- > *Rishi Tandon* > Pearson Learning Technology Group > > Mobile: (310) 926-9032 > > Pearson > Always Learning > Learn more at www.pearson.com > > -- > You received this message because you are subscribed to a topic in the > Google Groups "AngularJS" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/angular/TQxPxEzJzZQ/unsubscribe. > To unsubscribe from this group and all its topics, 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.
