Step by Step - AngularJS

27
Step by Step - AngularJS Dhananjay Kumar @debug_mode http :// debugmode.net

Transcript of Step by Step - AngularJS

Page 1: Step by Step - AngularJS

Step by Step - AngularJSDhananjay Kumar

@debug_modehttp://debugmode.net

Page 2: Step by Step - AngularJS

Agenda• Setting up Visual Studio as development environment• Getting started with AngularJS• $scope object and $rootScope object• Controllers and nested controllers • Services using service() method and factory() method • CRUD operation • Directives and creating basic Custom Directive • Scopes in directives • Isolated scope with local properties

Page 3: Step by Step - AngularJS

Give Away Tweet your experience about webinar using the hashtag #Infragistics or tag @infragistics to win cool goodies from us.

If you are in Delhi/NCR , join us for Infragistics Day tomorrow. Its free workshop on AngularJS in Noida

Page 4: Step by Step - AngularJS

I am Dhananjay Kumar

Infragistics Evangelist 6 times Microsoft MVP C-Sharp Corner Mentor @debug_mode [email protected]://debugmode.net

Page 5: Step by Step - AngularJS

AngularJS

Client side framework

Single Page Application

Business logic can be unit

tested with ease

Suitable for TDDTo create

dynamic web page

Can we used with any server side technology

Page 6: Step by Step - AngularJS

main components of AngularJS

Controllers Scopes Services

Directives Routing Module

Views Data Binding Filters

Page 7: Step by Step - AngularJS

Let us start with writing some AngularJS code

Page 8: Step by Step - AngularJS

$scope object

view controllerTalk to each other using $scope

Page 9: Step by Step - AngularJS

$scope object

$scope serves as the glue between controller and the view

View and the controller both have access of the $scope object

$scope pass data and behaviour to the view from the controller

$scope provides execution context for the DOM and the expression

The $scope object is plain JavaScript object.

We can add and remove property as required

For each controller creation a new $scope

gets created

Page 10: Step by Step - AngularJS

$rootScope object$rootScope is top most scope on DOM element with ng-app directive

In angular all the $scope are created with prototypal inheritance

$scope has access to their parent $scope object and eventually to $rootScope object

$rootScope object is parent of all the $scope object

Page 11: Step by Step - AngularJS

Controller in AngularJSController is a JavaScript constructor functions which contains data and the business logic

Controller name should start from the capital letter and ends with controller. For example AuthorController

It takes $scope òbject as parameter and attach data and behaviour to the $scope object

Do not use controller to manipulate DOM or create custom filter

Page 12: Step by Step - AngularJS

Controller in AngularJS

Each controller has its own child $scope object

Whenever new controller gets created

on the view angular pass a $scope object to

it

Controller can be attached to different level of DOM. Hence it creates $scope

hierarchy

$scope of the child controller can access

and override data and behaviour of the parent controller

Page 13: Step by Step - AngularJS

Let us write code to understand

• Controller and $scope object• Controller Hierarchy•Nested Controller

Page 14: Step by Step - AngularJS

Service in AngularJS

Service organize and share data and functions across the

application

Service provides methods to communicate data across the controllers in a consistent way

Service is a singleton object and it gets instantiated only once per

application using the $injector

Services are lazy instantiated and gets created when angular

app components need it

Page 15: Step by Step - AngularJS

Service creation

service() factory() provider() value() constant()

Service in AngularJS

Page 16: Step by Step - AngularJS

Let us write code to understand

• Services using service() method • Services using factory() method•Using $http service to perform AJAX

operation • Perform CRUD operation

Page 17: Step by Step - AngularJS

Directives in AngularJS

It attaches specified behaviour to existing DOM elements or create new element

Directives can modify the behaviour of a particular DOM element or add new custom element on the DOM

Directive name must be provided in the camel case

On the view directive can be used by separating the camel case name either using dash, colon, or underscore

Combination of dash, underscore or colon can also be used

If directive name myFirstDirective then on the view it can be used either as my-first-directive or my:first:directive or my_first_directive or my_first-directive or my-first:directive

Page 18: Step by Step - AngularJS

There are many built in directives available

Some of them are ng-show ,ng-app,ng-controller etc

Directives in AngularJS

Page 19: Step by Step - AngularJS

Custom Directives can be used

As an attribute – set restrict value to A

As a custom element – set restrict value to E

As a comment – set restrict value to M

As a class- set restrict value to C

Page 20: Step by Step - AngularJS

Scopes in Directives

Shared Scope Inherited Scope

Isolated Scope

Page 21: Step by Step - AngularJS

Scopes in Directives

Shared Scope

•Directive shared scope with the enclosed controller•It is default scope

Inherited Scope

•Directive inherit scope of the enclosed controller

Isolated Scope

•Directive and controller has different scope •Data is not shared

Page 22: Step by Step - AngularJS

Scopes in Directives

Page 23: Step by Step - AngularJS

Isolated Scope properties

Page 24: Step by Step - AngularJS

Let us write code to understand

• Create custom directive •Using different scopes •Using local scope properties in isolated

scope

Page 25: Step by Step - AngularJS

Q& A ?

Page 26: Step by Step - AngularJS

Summary

• Setting up Visual Studio as development environment• Getting started with AngularJS• $scope object and $rootScope object• Controllers and nested controllers • Services using service() method and factory() method • CRUD operation • Directives and Creating basic Custom Directive • Scopes in directives • Isolated scope with local properties

Page 27: Step by Step - AngularJS

What Infragistics can offer you?• We welcome all of you to take advantage of a FREE 30 Day Trial by downloading

the product at: http://www.infragistics.com/products/ultimate/download

• Please reach out to us at [email protected] for any follow up questions you may have. We welcome the opportunity to assist you.