To expound: I actually use routeProvider only for templates and specify my controllers in the root node of the template. Instead of ng-view, I use ng-include and watch for $routeChangeSuccess to update the template reference as necessary. What this does is give me control over whether or not I load a new template as I have some routes that point to the same template and don't want them to "reload", but simply have the same controller handle the route parameters differently. (this saves the user a "blink" on the page and prevents it from making the same ajax call twice for the same data that only has a slightly different view).
IMHO, ng-view is just a convenience wrapper for using ng-include with ng-controller mapped to specific routes. I could be wrong, but I do not believe there's any special functionality happening when controllers are specified in routeProvider versus in the template. On Thu, Feb 20, 2014 at 3:38 AM, Diego Fernandez < [email protected]> wrote: > I totally agree with Luke Kende. > > > On 20 February 2014 05:38, Luke Kende <[email protected]> wrote: > >> I don't think it's bad practice. $scope is setup to be hierarchal and >> will inherit any parent scopes. So even if you provided a controller for >> the template route, it would just be a parent controller to the ones >> specified within the template. >> >> >> >> On Wednesday, February 19, 2014 10:11:08 PM UTC-7, Keoki Zee wrote: >>> >>> Is it bad practice in AngularJS to have multiple controllers be >>> responsible for managing a single route? For example, if I have a route set >>> up like this: >>> >>> *$routeProvider.when('/', {* >>> * templateUrl: '../partials/foo.html'* >>> *});* >>> >>> >>> and then in *foo.html*, I have two controllers *BarCtrl* and >>> *SkadooshCrtl* like so: >>> >>> *<div ng-controller="BarCtrl"></div>* >>> *<div ng-controller="SkadooshCtrl"></div>* >>> >>> >>> I ask because I have an ASP.NET MVC background, where every route is >>> handled by only one controller. >>> >> -- >> 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/groups/opt_out. >> > > -- > 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/FO_PsiwNINU/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/groups/opt_out. > -- 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/groups/opt_out.
