Новичек. Оф. документацию читал, стековерфлоу тоже.
Суть:
1) есть два соседа-контроллера:
<div ng-controller="firstController">
		<ul>
			<li ng-repeat="message in messages">{{ message.text }}</li>
		</ul>
	</div>
<div ng-controller="secondController">
		<div ng-repeat="man in mans" ng-click="loadMessages(man.id)" class="chuvak">{{ man.name }}</div>
	</div>
2) Есть сервис, который достает с сервера коллекцию messages конкретного человека по его по id. И кеширует их в простейшем обьекте в виде связки id: messages:
app.factory("History", function($resource, $q) {
			var cache = {};
			var r = $resource("index.php");
			var current;
			return {
				get: function() {
					if (!cache[current]) {
						var items = r.query({id: current});
						return items.$promise;
					} else {
						var fromCache = cache[current];
						var defer = $q.defer();
						defer.resolve(fromCache);
						return defer.promise;
					}
				},
				save: function(id, content) {
					if (content) {
						cache[id] = content;
					}
				},
				setClient: function(id) {
					current = id;
				}
			};
		});
3) Этим сервисом пользуются оба контроллера:
Первый контроллер - вывод списка сообщений для конкретного человека:
function firstController($scope, History) {
			var manId = 1;
			History.setClient(manId);
			History.get()
					  .then(function(data) {
					     $scope.messages = data;
					  }, function(error) {
					  })
					  .finally(function() {
							History.save(manId, $scope.messages);
					  });
		}
Второй контроллер - вывод списка людей. По клику на конкретного человека нужно в первом контроллере отобразить его messages:
function secondController($scope, History) {
			$scope.mans = [
				{id: 1, name: "vasua"},
				{id: 2, name: "petya"}
			];
			$scope.loadMessages = function(id) {
				History.setClient(id);
			}
		}
Проблема: когда я жму по конкретному пользователю в secondController и отрабатывает loadMessages(), которая обновляет в сервисе History id текущего клиента...вот в этом месте нужно, что бы в первом контроллере заново вызвалась History.get(), которая подтянет messages выбраного человека.
Может у меня в целом архитектура сильно хромает, тогда подскажите как было бы правильнее.