angularjs_tutorial

Sep 8, 2018 | Publisher: edocr | Category: Technology |  | Collection: Business Ideas | Views: 24 | Likes: 2

I AngularJS i About the Tutorial AngularJS is a very powerful JavaScript library. It is used in Single Page Application (SPA) projects. It extends HTML DOM with additional attributes and makes it more responsive to user actions. AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache license version 2.0. Audience This tutorial is designed for software professionals who want to learn the basics of AngularJS and its programming concepts in simple and easy steps. It describes the components of AngularJS with suitable examples. Prerequisites You should have a basic understanding of JavaScript and any text editor. As we are going to develop web-based applications using AngularJS, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX, etc. Disclaimer & Copyright Copyright 2014 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com AngularJS ii Table of Contents About the Tutorial i Audience i Prerequisites i Disclaimer & Copyright i Table of Contents ii 1. OVERVIEW 1 General Features 1 Core Features 1 Concepts 2 Advantages of AngularJS 3 Disadvantages of AngularJS 4 AngularJS Directives 4 2. ENVIRONMENT 5 3. MVC ARCHITECTURE 9 The Model 10 The View 10 The Controller 10 4. FIRST APPLICATION 11 Creating AngularJS Application 11 Executing AngularJS Application 11 How AngularJS Integrates with HTML 13 5. DIRECTIVES 14 ng-app directive 14 ng-init directive 14 ng-model directive 15 AngularJS iii ng-repeat directive 15 6. EXPRESSIONS 17 7. CONTROLLERS 19 8. FILTERS22 Uppercase Filter 22 Lowercase Filter 22 Currency Filter 22 Filter23 OrderBy Filter 23 9. TABLES 27 10. HTML DOM 31 ng-disabled Directive 31 ng-show Directive31 ng-hide Directive 31 ng-click Directive 32 11. MODULES 34 Application Module 34 Controller Module 34 Use Modules 35 12. FORMS 39 Events 39 ng-click 39 Validate Data40 13. INCLUDES44 14. AJAX 48 AngularJS iv 15. VIEWS 52 ng-view Directive52 ng-template Directive 52 $routeProvider Service 53 16. SCOPES 57 Scope Inheritance 57 17. SERVICES 61 Using Factory Method 61 Using Service Method61 18. DEPENDENCY INJECTION64 Value64 Factory 65 Service65 Provider 66 Constant67 19. DIRECTIVES 70 ng-app directive 70 ng-init directive 70 ng-model directive 71 ng-repeat directive 71 20. INTERNALIZATION 73 Example Using Danish Locale 73 Example Using Browser Locale74 AngularJS v AngularJS is an open-source web application framework. It was originally developed in 2009 by Misko Hevery and Adam Abrons. It is now maintained by Google. Its latest version is 1.2.21. Definition of AngularJS as put by its official documentation is as follows: AngularJS is a structural framework for dynamic web applications. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application components clearly and succinctly. Its data binding and dependency injection eliminate much of the code you currently have to write. And it all happens within the browser, making it an ideal partner with any server technology. General Features The general features of AngularJS are as follows: AngularJS is a efficient framework that can create Rich Internet Applications (RIA). AngularJS provides developers an options to write client side applications using JavaScript in a clean Model View Controller (MVC) way. Applications written in AngularJS are cross-browser compliant. AngularJS automatically handles JavaScript code suitable for each browser. AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache license version 2.0. Overall, AngularJS is a framework to build large scale, high-performance, and easy- to-maintain web applications. Core Features The core features of AngularJS are as follows: Data-binding: It is the automatic synchronization of data between model and view components. 1. OVERVIEW AngularJS vi Scope: These are objects that refer to the model. They act as a glue between controller and view. Controller: These are JavaScript functions bound to a particular scope. Services: AngularJS comes with several built-in services such as $http to make a XMLHttpRequests. These are singleton objects which are instantiated only once in app. Filters: These select a subset of items from an array and returns a new array. Directives: Directives are markers on DOM elements such as elements, attributes, css, and more. These can be used to create custom HTML tags that serve as new, custom widgets. AngularJS has built-in directives such as ngBind, ngModel, etc. Templates: These are the rendered view with information from the controller and model. These can be a single file (such as index.html) or multiple views in one page using partials. Routing: It is concept of switching views. Model View Whatever: MVW is a design pattern for dividing an application into different parts called Model, View, and Controller, each with distinct responsibilities. AngularJS does not implement MVC in the traditional sense, but rather something closer to MVVM (Model-View-ViewModel). The Angular JS team refers it humorously as Model View Whatever. Deep Linking: Deep linking allows to encode the state of application in the URL so that it can be bookmarked. The application can then be restored from the URL to the same state. Dependency Injection: AngularJS has a built-in dependency injection subsystem that helps the developer to create, understand, and test the applications easily. Concepts The following diagram depicts some important parts of AngularJS which we will discuss in detail in the subsequent chapters. AngularJS vii Advantages of AngularJS The advantages of AngularJS are: It provides the capability to create Single Page Application in a very clean and maintainable way. It provides data binding capability to HTML. Thus, it gives user a rich and responsive experience. AngularJS code is unit testable. AngularJS uses dependency injection and make use of separation of concerns. AngularJS provides reusable components. AngularJS viii With AngularJS, the developers can achieve more functionality with short code. In AngularJS, views are pure html pages, and controllers written in JavaScript do the business processing. On the top of everything, AngularJS applications can run on all major browsers and smart phones, including Android and iOS based phones/tablets. Disadvantages of AngularJS Though AngularJS comes with a lot of merits, here are some points of concern: Not secure : Being JavaScript only framework, application written in AngularJS are not safe. Server side authentication and authorization is must to keep an application secure. Not degradable: If the user of your application disables JavaScript, then nothing would be visible, except the basic page. AngularJS Directives The AngularJS framework can be divided into three major parts: ng-app : This directive defines and links an AngularJS application to HTML. ng-model : This directive binds the values of AngularJS application data to HTML input controls. ng-bind : This directive binds the AngularJS application data to HTML tags. AngularJS ix This chapter describes how to set up AngularJS library to be used in web application development. It also briefly describes the directory structure and its contents. When you open the link https://angularjs.org/, you will see there are two options to download AngularJS library: View on GitHub By clicking on this button, you are diverted to GitHub and get all the latest scripts. Download By clicking on this button, a screen you get to see a dialog box shown as: 2. ENVIRONMENT AngularJS x This screen offers various options for selecting Angular JS as follows: Downloading and hosting files locally o There are two different options : Legacy and Latest. The names themselves are self-descriptive. The Legacy has version less than 1.2.x and the Latest come with version 1.3.x. o We can also go with the minimized, uncompressed, or zipped version. CDN access: You also have access to a CDN. The CDN gives you access to regional data centers. In this case, the Google host. The CDN transfers the responsibility of hosting files from your own servers to a series of external ones. It also offers an advantage that if the visitor of your web page has already downloaded a copy of AngularJS from the same CDN, there is no need to re-download it. We are using the CDN versions of the library throughout this tutorial. Example Now let us write a simple example using AngularJS library. Let us create an HTML file myfirstexample.html shown as below: AngularJS xi Welcome {{helloTo.title}} to the world of Tutorialspoint! angular.module("myapp", []) .controller("HelloController", function($scope) { $scope.helloTo = {}; $scope.helloTo.title = "AngularJS"; }); Let us go through the above code in detail: Include AngularJS We include the AngularJS JavaScript file in the HTML page so that we can use it: You can check the latest version of AngularJS on its official website. Point to AngularJS app Next, it is required to tell which part of HTML contains the AngularJS app. You can do this by adding the ng-app attribute to the root HTML element of the AngularJS app. You can either add it to the html element or the body element as shown below: AngularJS xii View The view is this part: Welcome {{helloTo.title}} to the world of Tutorialspoint! ng-controller tells AngularJS which controller to use with this view. helloTo.title tells AngularJS to write the model value named helloTo.title in HTML at this location. Controller The controller part is: angular.module("myapp", []) .controller("HelloController", function($scope) { $scope.helloTo = {}; $scope.helloTo.title = "AngularJS"; }); This code registers a controller function named HelloController in the angular module named myapp. We will study more about modules and controllers in their respective chapters. The controller function is registered in angular via the angular.module(...).controller(...) function call. The $scope parameter model is passed to the controller function. The controller function adds a helloTo JavaScript object, and in that object it adds a title field. Execution Save the above code as myfirstexample.html and open it in any browser. You get to see the following output: AngularJS xiii What happens when the page is loaded in the browser ? Let us see: HTML document is loaded into the browser, and evaluated by the browser. AngularJS JavaScript file is loaded, the angular global object is created. The JavaScript which registers controller functions is executed. Next, AngularJS scans through the HTML to search for AngularJS apps as well as views. Once the view is located, it connects that view to the corresponding controller function. Next, AngularJS executes the controller functions. It then renders the views with data from the model populated by the controller. The page is now ready. AngularJS xiv Model View Controller or MVC as it is popularly called, is a software design pattern for developing web applications. A Model View Controller pattern is made up of the following three parts: Model - It is the lowest level of the pattern responsible for maintaining data. View - It is responsible for displaying all or a portion of the data to the user. Controller - It is a software Code that controls the interactions between the Model and View. MVC is popular because it isolates the application logic from the user interface layer and supports separation of concerns. The controller receives all requests for the application and then works with the model to prepare any data needed by the view. The view then uses the data prepared by the controller to generate a final presentable response. The MVC abstraction can be graphically represented as follows. 3. MVC ARCHITECTURE AngularJS xv The Model The model is responsible for managing application data. It responds to the request from view and to the instructions from controller to update itself. The View A presentation of data in a particular format, triggered by the controller's decision to present the data. They are script-based template systems such as JSP, ASP, PHP and very easy to integrate with AJAX technology. The Controller The controller responds to user input and performs interactions on the data model objects. The controller receives input, validates it, and then performs business operations that modify the state of the data model. AngularJS xvi AngularJS is a MVC based framework. In the coming chapters, we will see how AngularJS uses MVC methodology. AngularJS xvii Before creating actual Hello World ! application using AngularJS, let us see the parts of a AngularJS application. An AngularJS application consists of following three important parts: ng-app : This directive defines and links an AngularJS application to HTML. ng-model : This directive binds the values of AngularJS application data to HTML input controls. ng-bind : This directive binds the AngularJS Application data to HTML tags. Creating AngularJS Application Step 1: Load framework Being a pure JavaScript framework, it can be added using tag. Step 2: Define AngularJS application using ng-app directive. ... Step 3: Define a model name using ng-model directive. Enter your Name: Step 4: Bind the value of above model defined using ng-bind directive. Hello ! 4. FIRST APPLICATION AngularJS xviii Executing AngularJS Application Use the above-mentioned three steps in an HTML page. testAngularJS.htm AngularJS First Application Sample Application Enter your Name: Hello ! Output Open the file testAngularJS.htm in a web browser. Enter your name and see the result. AngularJS xix How AngularJS Integrates with HTML The ng-app directive indicates the start of AngularJS application. The ng-model directive creates a model variable named name, which can be used with the HTML page and within the div having ng-app directive. The ng-bind then uses the name model to be displayed in the HTML tag whenever user enters input in the text box. Closing tag indicates the end of AngularJS application. AngularJS xx End of ebook preview If you liked what you saw Buy it from our store @ https://store.tutorialspoint.com

Business planning ideas from around the internet.

Publishing documents on edocr is a proven way to start demand generation for your products and services. Thousands of professionals and businesses publish marketing (brochures, data sheets, press releases, white papers and case studies), sales (slides, price lists and pro-forma agreements), operations (specifications, operating manuals, installation guides), customer service (user manuals) and financial (annual reports and financial statements) documents making it easier for prospects and customers to find content, helping them to make informed decisions. #SEO #leadgen #content #analytics

About edocr

I am an accomplished content marketing professional helping you to build your brand and business. In my current role, I fulfill a multi-faceted solution marketplace including: publishing and sharing your content, embedding a document viewer on your website, improving your content’s search engine optimization, generating leads with gated content and earning money by selling your documents. I gobble up documents, storing them for safekeeping and releasing the text for excellent search engine optimization, lead generation and earned income. 

Publishing documents on edocr.com is a proven way to start demand generation for your products and services. Thousands of professionals and businesses publish marketing, sales, operations, customer service and financial documents making it easier for prospects and customers to find content, helping them to make informed decisions.

Get publishing now!

×

Modal Header

Modal body