Посмотрел видео, но всё равно не понимаю.
EggHead в видео Sharing Data Between Controllers приводит ну совсем уж элементарный пример.
Можете объяснить на простом примере, как сделать взаимодействее между контроллерами через сервис?
<div ng-controller="MainController">
<h1>{{ name }}</h1>
</div>
<div ng-controller="AsideController">
<button ng-click="changeName()">change name</button>
</div>
myApp.factory("fac", function($rootScope) {
var name = "ivan";
return {
setName: function(n) {
name = n;
},
getName: function() {
return name;
}
};
});
function MainController($scope, fac) {
$scope.fac = fac;
$scope.name = $scope.fac.getName();
}
function AsideController($scope, fac) {
$scope.fac = fac;
$scope.changeName = function() {
$scope.fac.setName("another name");
}
}
http://jsfiddle.net/HB7LU/5044/
Возможно, существует какое-нибудь красивое решение через $apply() и $watch()?