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”?
2
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.