Предыдущие версии Angular (pre 1.0 RC) позволили вам использовать это взаимозаменяемо с методом $ scope, но это уже не так. Внутри методов, определенных в области действия this и $ scope, взаимозаменяемы (угловое задает это значение в $ scope), но не внутри внутри вашего конструктора контроллера.
blockquote>Чтобы вернуть это поведение (кто-нибудь знает почему это было изменено?) вы можете добавить:
return angular.extend($scope, this);
в конце вашей функции контроллера (при условии, что $ scope был введен в эту функцию контроллера).
У этого есть хороший эффект наличия доступа к родительской области через объект контроллера, который вы можете получить в дочернем с
require: '^myParentDirective'