I don't consider myself a highly skilled javascript developer, but I thought I got one thing right for sure: don't create global variables unless you really have to.
I've been learning angularjs
lately and discovered one strange thing, almost everywhere in code samples for angular you can find constructions like the following.
'use strict';
/* Controllers */
var phonecatControllers = angular.module('phonecatControllers', []);
phonecatControllers.controller('PhoneListCtrl', ['$scope', 'Phone',
function($scope, Phone) {
$scope.phones = Phone.query();
$scope.orderProp = 'age';
}]);
Source: official example app https://github.com/angular/angular-phonecat/blob/master/app/js/controllers.js
So I assumed I might be missing/misunderstanding something. Any thoughts except "since it's demo code, they don't care"?
-
@kdgregory: you may consider promoting your comment to an answer, since it actually answers the question.Arseni Mourzenko– Arseni Mourzenko05/02/2014 19:28:04Commented May 2, 2014 at 19:28
-
@MainMa - done, although I think it would be better just to delete the question.kdgregory– kdgregory05/02/2014 20:38:53Commented May 2, 2014 at 20:38
1 Answer 1
It's demo code. If you want to read it from the Angular developers, go here and scroll down until you see
In practice, you will not want to have your controller functions in the global namespace.