One method involves storing your value in a shared service that is injected into both of your controllers.
UPDATE:
Here is a simple example using $interval (similar to what OP does) in SomeController to update the value displayed in AnotherController's view.
For clarity, you can check out the code here:
http://plnkr.co/edit/UqZ7tUHTPXnjeBP8j4qF?p=preview
app.js:
var app = angular.module('plunker', []);
// For simplicity, I have included two controllers and a service/factory within this same file.
// Ideally, each should be in its own file ;-)
app.factory('valueService', function($interval) {
var service = {
value: 0,
};
return service;
});
app.controller('SomeController', function($scope, $interval, valueService) {
$scope.name = 'Some Controller';
start(); // This line will run when the constructor initiates, kicking off everything.
function start() {
$interval(function(){
valueService.value++; // This controller increments a value stored in the shared service (which the other controller uses to update its view)
}, 1000);
}
});
app.controller('AnotherController', function($scope, valueService) {
$scope.name = 'Another Controller';
$scope.valueService = valueService;
});
index.html:
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<script data-require="<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1e7f7079607770603605x741541485577081247">[email protected]</a>" src="https://code.angularjs.org/1.3.13/angular.js" data-semver="1.3.13"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="SomeController">
<p>{{name}}</p>
</div>
<hr/>
<div ng-controller="AnotherController">
<p>{{name}}</p>
<p>{{valueService.value}}</p>
</div>
</body>
</html>