Games Brainiac Games Brainiac - 5 months ago 8
Javascript Question

Declaring controllers in AngularJS

I've seen that on AngularJS tutorials, that some people declare their controller functions like so:

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


and other have done it like this:

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


Which way is the best way to declare a controller in your JS file, that will work best with the latest version of AngularJS ( right now 1.0.7 ), as in what are the best practices? Or does it not really matter?

Answer

You should follow the second example they offer, which uses a string to identify your controller rather than a potentially global function. Use the Array syntax so you can minify your code without worrying about the minifier renaming function parameters.

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

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

Source: http://docs.angularjs.org/guide/controller

Comments