Объявление контроллеров в 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