AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. Its goal is to augment browser-based applications with model-view-controller (MVC) capability, in an effort to make both development and testing easier.

The library reads in HTML that contains additional custom tag attributes; it then obeys the directives in those custom attributes, and binds input or output parts of the page to a model represented by standard JavaScript variables. The values of those JavaScript variables can be manually set, or retrieved from static or dynamic JSON resources.

The latest Angular.js version can be downloaded from:

AngularJS FAQ


Operating system used
Windows Vista Home Premium SP 2

Software prerequisites

  • What does SPA mean?

    SPA = Single Page Application

  • What does ng mean?

    ng = is an abbreviation for angular

  • Which directive formats does AngularJS understand?

    AngularJS understands the following directive formats:
    • ng:repeat
    • ng-repeat
    • ng_repeat
    • x-ng-repeat (prefix with "x-" for validator compliance)
    • data-ng-repeat (prefix with "data-" for validator compliance)

  • How are the directives processed?

    AngularJS follows the procdure:
    • After the page is loaded, the browser parses the HTML to a DOM
    • Now Angularjs traverses the DOM and collects all the directives (this step is called the compile phase).
    • Each directive is executed (this step is also called the compile phase), where the associated DOM (aka Template DOM) is processed.
    • The Template Dom can be modified.
    • Almost every directive has a link step where an instance of the Template DOM (from the compile phase) is linked to an event.

  • How are the controller, scope and view related to each other?

    The controller primary responsibility is to create the scope object. The controller communicates with the view thru the scope object ($scope). The scope contains the model which the view can access. The scope is not the model. To modify the model you add methods to the scope. The view can bind to functions and properties on the scope object.

    AngularJS: Scope View Controller