Объявление контроллеров в AngularJS

Я видел, что в учебниках AngularJS некоторые люди объявляют свои функции контроллера следующим образом:

function FirstController($scrope) {
    // do something with $scope
}

и другие сделали это следующим образом:

var FirstController = function ($scope) {
    // do something with scope
}

Какой способ - это лучший способ объявить контроллер в вашем JS файле, который будет работать лучше всего с последней версией AngularJS (прямо сейчас 1.0.7), как в лучших методах? Или это не имеет большого значения?

Ответ 1

Вам следует следовать второму примеру, который они предлагают, который использует строку для идентификации вашего контроллера, а не потенциально глобальной функции. Используйте синтаксис Array, чтобы вы могли минимизировать код, не беспокоясь о параметрах функции переименования minifier.

var myApp = angular.module('myApp');

myApp.controller('GreetingCtrl', ['$scope', function($scope) {
    $scope.greeting = 'Hola!';
}]);

Источник: http://docs.angularjs.org/guide/controller

Ответ 2

myApp.controller('myControl',['$scope',function($scope){
    $scope.controlname = "Something";
}]);

Ответ 3

Рекомендуемый способ объявления контроллеров использует нотацию массива:

 someModule.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope,  dep1, dep2) {
     ...
     $scope.aMethod = function() {
     ...
    }
  ... 
}]); 

в соответствии с сайтом angularJS: https://docs.angularjs.org/guide/di