120 likes | 1.78k Views
Introduction to Angular JS. Sergey Barskiy Working Class Nobody. Level : Introductory. What is Angular?. “ Superheroic MVW framework” http://angularjs.org/ JavaScript framework for building (mostly) single page web applications (SPAs) MV* pattern based framework. MVC / MV*.
E N D
Introduction to Angular JS Sergey Barskiy Working Class Nobody Level: Introductory
What is Angular? • “Superheroic MVW framework” http://angularjs.org/ • JavaScript framework for building (mostly) single page web applications (SPAs) • MV* pattern based framework.
MVC / MV* • Model – JavaScript objects • View – HTML • Controller – Controller and Scope objects • Main advantage over traditional web app – separation of concerns • How do we relate this to XAML – MVVM pattern?
Features • Two way data binding • Digest loop • Performance limitations • Compare to Knockout • Templating • Routing • Dependency injection • Testability • Modularity
Angular Conceptual Components • Directives - HTML manipulation constructs • Filters – data formatting and data filtering constructs • Controllers - provide view model that glues HTML to properties and methods of JavaScript objects, expressed through scope. • Services – provide functions to controllers, such as access to server data.
Angular Built-In Directives • Application (ngApp) – top level object • View (ngView) – placeholder for view templates • Controller (ngController) – wires up controller to a subset of DOM • Binding (ngModel) – sets up two way data binding • Event directives
Angular Built-In Directives (Cont.) • (ng assumed in the name) • Validation (required, min, max) • HTML (show, hide, if, switch, disable, readonly, include) • Init • Class • Repeat • Form
Angular Built-In Services • HTTP ($http) • Cache ($cacheFactory) • Document ($document) • Windows ($window) • Timeout ($timeout) • Address ($location) • Value parser ($parse) • Promises ($q) • Scope ($rootScope)
Angular Methods • There are many helper methods • fromJson, toJson • String manipulations (upper, lower) • Object testing (isObject, isNumber, etc…)
More Information • http://angularjs.org/ • Sergey@Barskiy.com • http://DotNetSpeak.com