Can I pass multiple controllers in $routeProvider.when() in angularJS?
-
22-12-2019 - |
Question
I tried searching for this on various threads, but I can't conclusively understand this.
test.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',
{
controller:'SimpleController1',
templateUrl: 'partials/1.html'
})
.when('/xyz',
{
controller:'SimpleController1, SimpleController2',
templateUrl:'partials/2.html'
})
.otherwise({ redirectTo: '/'});
}]);
I tried doing the above snippet, but it's not working. Can I do something like this? If yes, then what is it that I'm doing wrong here?
Solution
Only one controller is allowed and will be assigned to the loading template as the controller in ng-view
. No need to define ng-controller
in the template for a main controller.
If you need to define multiple controllers I suggest you define one main/parent controller and use that in the routeProvider
and then have others already in the template using the ng-controller
directive.
or...
Check into using Angular UI's UI-Router : http://angular-ui.github.io/ which is a much more versatile router.