cyber, нет, контроллеры так не вызываются, я добавил возможность описывать их не так
ui.controller('User',function(){ })
а просто в window,
просто как бонус, ну это куда проще для демонстраций =), он просто смотрит если такого контроллера нету в модуле то поискать в window =) мелочь а приятно. Контроллеры по идеологии не должны использовать замыкания из вне и обращаться к чему-то из вне, все что им нужно они должны запрашивать в виде сервисов, которые именуются со знака бакс, $http например сервис для общения с сервером. Мы просто пишем в коде контроллера $http и у нас автоматически туда подключается сервис $http. (Чтобы идешка не ругалась мы можем написать у контроллера параметр $http)
сервисы, как ты понял, тоже создаются оч просто
ui.service('$http',function(){
return {} // возвращаем обьект сервиса
//все сервисы синглтоны кстати, так что то что тут вернется, будет для всех общее
})
например вот:
<script src='//mychamber.ru/build/ui.js'></script>
<button controller="User" click="say()">say</button>
<script>
function User() {
say = function() { $ololo('РААБОТАЕТ11111') }
}
ui.service('$ololo', function() {
return function(text) { alert(text) }
})
</script>