Games Brainiac Games Brainiac - 3 months ago 6x
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?


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!';