1

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
  • @kdgregory: you may consider promoting your comment to an answer, since it actually answers the question.CommentedMay 2, 2014 at 19:28
  • @MainMa - done, although I think it would be better just to delete the question.
    – kdgregory
    CommentedMay 2, 2014 at 20:38

1 Answer 1

4

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.

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.