Les deux ont leurs usages. Tout d'abord, un peu d'histoire ...
$champ d'application est le "classique" technique", alors que "contrôleur" est beaucoup plus récente (à partir de la version 1.2.0 officiellement bien qu'il fait apparaître dans unstable pré-versions antérieures à la présente).
Les deux fonctionnent parfaitement bien et la seule mauvaise réponse, c'est de mélanger dans la même application sans un but explicite. Franchement, les mélanger au travail, mais il ne fera qu'ajouter à la confusion. Donc en choisir un et de rouler avec elle. La chose la plus importante est d'être cohérent.
Lequel? Cela dépend de vous. Il y a beaucoup plus d'exemples de $portée, mais "contrôleur" est à ramasser à la vapeur. Est-ce mieux que les autres? C'est discutable. Alors, comment choisissez-vous?
Confort
Je préfère le "contrôleur" parce que j'aime cacher le $scope et en exposant les membres du contrôleur à la vue par l'intermédiaire d'un objet. Par ce paramètre.*, Je peux exposer simplement ce que je veux exposer à partir du contrôleur à la vue. Vous pouvez le faire avec $portée trop, je préfère juste à utiliser JavaScript standard pour cela. En fait, je code comme ceci:
var vm = this;
vm.title = 'some title';
vm.saveData = function(){ ... } ;
return vm;
C'est un nettoyant pour moi et il est facile de voir ce qui est exposé à la vue. Avis j'ai le nom de la variable que je revienne "vm" , qui signifie viewmodel. C'est juste mon convention.
Avec $portée, je peux faire les mêmes choses, donc je ne suis pas d'ajout ou de porter atteinte à la technique.
$scope.title = 'some title';
$scope.saveData = function() { ... };
Donc, son jusqu'à vous.
Injection
Avec $champ d'application j'ai besoin d'injecter $champ d'application dans l'automate. Je n'ai pas à le faire avec le contrôleur, à moins que j'en ai besoin pour une autre raison (comme $de diffusion ou de montres, bien que j'essaie d'éviter de montres dans le contrôleur).
Mise à JOUR
J'ai écrit ce post sur les 2 choix:
http://www.johnpapa.net/do-you-like-your-angular-controllers-with-or-without-sugar/