angular.module("module_A", []) .controller("controller", [function(){ var self = this; self.text = "A"; }]) angular.module("module_B", []) .controller("controller", [function(){ var self = this; self.text = "B"; }]); angular.bootstrap(document.getElementById("module_1"), ["module_A"]); angular.bootstrap(document.getElementById("module_2"), ["module_A"]); angular.bootstrap(document.getElementById("module_3"), ["module_A", "module_B"]);
<div id="module_1"> module_1: <div ng-controller="controller as ctrl"> <input type="text" ng-model="ctrl.text"/> </div> </div> <div id="module_2"> module_2: <div ng-controller="controller as ctrl"> <input type="text" ng-model="ctrl.text"/> </div> <div ng-controller="controller as ctrl"> <input type="text" ng-model="ctrl.text"/> </div> </div> <div id="module_3"> module_3: <div ng-controller="controller as ctrl"> <input type="text" ng-model="ctrl.text"/> </div> <div ng-controller="controller as ctrl"> <input type="text" ng-model="ctrl.text"/> </div> </div>