You are essentially talking about the exchange of data between controllers. Well, according to me [and others too;)], the best way to do this is to use services.
yourApp.service("sharedService", function() { this.data = "123"; }) yourApp.controller("parentController", function(sharedService) { $scope.sharedService = sharedService; }); yourApp.controller("childController", function(sharedService) { $scope.sharedService = sharedService; });
Now all that you want to "split" between two controllers can be placed inside the service.
In addition, in html you can use the same service link to access data:
eg.
<div ng-app='app' ng-controller='ParentCtrl as parent'> <div ng-controller='ChildCtrl as child'> {{parent.sharedService.data}}<br> {{child.sharedService.data}}<br> </div> </div>
source share