<!DOCTYPE html>
<html>

<head>
  <script data-require="angular.js@1.5.9" data-semver="1.5.9" src="https://code.angularjs.org/1.5.8/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body>
  <h1>Varias apps y controladores</h1>
  <h2>Angular sólo permite una directiva ng-app por página</h2>
  <h3>No siempre es lo que queremos</h3>
  <div id="div1">
    <h1>Div Uno</h1>
    <div ng-controller="ControllerUno">
      {{nombre}}
    </div>
    <div ng-controller="ControllerDos">
      {{nombre}}
    </div>
  </div>

  <div id="div2">
    <h1>Div dos</h1>
    <div ng-controller="ControllerDos">
      {{nombre}}
      <button ng-click="funcionClick($event)">Pincha</button>
    </div>
  </div>
</body>

</html>
// Code goes here
var moduloUno = angular.module("ModuloUno", []);
moduloUno.controller("ControllerUno", function($scope) {
  $scope.nombre = "Nombre uno en módulo uno";
});

var moduloDos = angular.module("ModuloDos", []);
moduloDos.controller("ControllerDos", function($scope) {
  $scope.nombre = "Nombre uno en módulo dos";
  $scope.funcionClick = function(e) {
    alert('Click:' + e.clientX + ',' + e.clientY);
  };
});

angular.element(document).ready(function() {
  var myDiv1 = document.getElementById("div1");
  angular.bootstrap(myDiv1, ["ModuloUno", "ModuloDos"]);

  var myDiv2 = document.getElementById("div2");
  angular.bootstrap(myDiv2, ["ModuloDos"]);
});
/* Styles go here */

Uso de varios módulos
Varios controladores