Pro AngularJS [electronic resource] /
Freeman, Adam.author.
AngularJS is the leading framework for building dynamic JavaScript applications that take advantage of the capabilities of modern browsers and devices. AngularJS, which is maintained by Google, brings the power of the Model-View-Controller (MVC) pattern to the client, providing the foundation for complex and rich web apps. It allows you to build applications that are smaller, faster, and with a lighter resource footprint than ever before. Best-selling author Adam Freeman explains how to get the most from AngularJS. He begins by describing the MVC pattern and the many benefits that can be gained from separating your logic and presentation code. He then shows how you can use AngularJS's features within in your projects to produce professional-quality results. Starting from the nuts-and-bolts and building up to the most advanced and sophisticated features AngularJS is carefully unwrapped, going in-depth to give you the knowledge you need. Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. The most important features are given a no-nonsense in-depth treatment and chapters include common problems and details of how to avoid them.
Includes index.
AngularJS is the leading framework for building dynamic JavaScript applications that take advantage of the capabilities of modern browsers and devices. AngularJS, which is maintained by Google, brings the power of the Model-View-Controller (MVC) pattern to the client, providing the foundation for complex and rich web apps. It allows you to build applications that are smaller, faster, and with a lighter resource footprint than ever before. Best-selling author Adam Freeman explains how to get the most from AngularJS. He begins by describing the MVC pattern and the many benefits that can be gained from separating your logic and presentation code. He then shows how you can use AngularJS's features within in your projects to produce professional-quality results. Starting from the nuts-and-bolts and building up to the most advanced and sophisticated features AngularJS is carefully unwrapped, going in-depth to give you the knowledge you need. Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. The most important features are given a no-nonsense in-depth treatment and chapters include common problems and details of how to avoid them.
Description based on publisher supplied metadata and other sources.
Cover -- Contents at a Glance -- Contents -- About the Author -- About the Technical Reviewer -- Part 1: Getting Ready -- Chapter 1: Getting Ready -- What Do You Need to Know ? -- What Is the Structure of This Book? -- Part 1: Getting Ready -- Part 2: Working with AngularJS -- Part 3: AngularJS Modules and Services -- Are There Lots of Examples? -- Where Can You Get the Example Code? -- How Do You Set Up Your Development Environment? -- Choosing a Web Browser -- Choosing a Code Editor -- Installing Node.js -- Installing the Web Server -- Installing the Test System -- Creating the AngularJS Directory -- Getting the AngularJS Library -- Getting the AngularJS Extras -- Getting Bootstrap -- Getting Deployd -- Performing a Simple Test -- Starting the Web Server -- Load the Test File -- Summary -- Chapter 2: Your First AngularJS App -- Preparing the Project -- Using AngularJS -- Applying AngularJS to the HTML File -- Creating a Data Model -- Creating a Controller -- Creating a View -- Inserting Model Values -- Evaluating Expressions -- Using Directives -- Going Beyond the Basics -- Using Two-Way Model Binding -- Creating and Using Controller Behaviors -- Using Behaviors That Depend on Other Behaviors -- Responding to User Interaction -- Filtering and Ordering Model Data -- Improving the Filter -- Getting the Data via Ajax -- Summary -- Chapter 3: Putting AngularJS in Context -- Understanding Where AngularJS Excels -- Understanding Round-Trip and Single-Page Applications -- Understanding the MVC Pattern -- Understanding Models -- Understanding Controllers -- Understanding View Data -- Understanding Views -- Understanding RESTful Services -- Common Design Pitfalls -- Putting the Logic in the Wrong Place -- Adopting the Data Store Data Format -- Clinging to the Old Ways -- Summary -- Chapter 4: HTML and Bootstrap CSS Primer -- Understanding HTML.
Understanding the Anatomy of an HTML Element -- Understanding Attributes -- Understanding Element Content -- Understanding Void Elements -- Understanding the Document Structure -- Understanding Bootstrap -- Applying Basic Bootstrap Classes -- Modifying Style Context -- Modifying Sizes -- Using Bootstrap to Style Tables -- Ensuring the Correct Table Structure -- Using Bootstrap to Create Forms -- Using Bootstrap to Create Grids -- Creating Responsive Grids -- Summary -- Chapter 5: JavaScript Primer -- Preparing the Example Project -- Understanding the Script Element -- Using Statements -- Defining and Using Functions -- Defining Functions with Parameters -- Defining Functions That Return Results -- Detecting Functions -- Using Variables and Types -- Using the Primitive Types -- Working with Booleans -- Working with Strings -- Working with Numbers -- Creating Objects -- Using Object Literals -- Using Functions as Methods -- Extending Objects -- Working with Objects -- Detecting Objects -- Reading and Modifying the Property Values -- Enumerating an Object's Properties -- Adding and Deleting Properties and Methods -- Determining Whether an Object Has a Property -- Using JavaScript Operators -- Using Conditional Statements -- The Equality Operator vs. the Identity Operator -- Explicitly Converting Types -- Converting Numbers to Strings -- Converting Strings to Numbers -- Working with Arrays -- Using an Array Literal -- Detecting an Array -- Reading and Modifying the Contents of an Array -- Enumerating the Contents of an Array -- Using the Built-in Array Methods -- Comparing undefined and null Values -- Checking for null or undefined -- Working with Promises -- Working with JSON -- Summary -- Chapter 6: SportsStore: A Real Application -- Getting Started -- Preparing the Data -- Creating the Data Structure -- Adding the Data -- Testing the Data Service.
Preparing the Application -- Creating the Directory Structure -- Installing the AngularJS and Bootstrap Files -- Building the Basic Outline -- Displaying the (Fake) Product Data -- Creating the Controller -- Displaying the Product Details -- Generating the Content Elements -- Displaying the Category List -- Creating a List of Categories -- Generating the Category Navigation Links -- Generating the Navigation Elements -- Handling the Click Event -- Selecting the Category -- Defining the Controller -- Applying the Controller and Filtering the Products -- Highlighting the Selected Category -- Adding Pagination -- Updating the Controller -- Implementing the Filters -- Updating the View -- Summary -- Chapter 7: SportsStore: Navigation and Checkout -- Preparing the Example Project -- Using the Real Product Data -- Handling Ajax Errors -- Creating Partial Views -- Creating the Cart -- Defining the Cart Module and Service -- Creating a Cart Widget -- Applying the Cart Widget -- Adding Product Selection Buttons -- Adding URL Navigation -- Defining URL Routes -- Displaying the Routed View -- Using URL Routing to Navigate -- Starting the Checkout Process -- Applying the Checkout Summary -- Summary -- Chapter 8: SportsStore: Orders and Administration -- Preparing the Example Project -- Getting Shipping Details -- Adding Form Validation -- Preparing for Validation -- Displaying Validation Feedback -- Linking the Button to Validity -- Adding the Remaining Form Fields -- Placing Orders -- Extending the Deployd Server -- Defining the Controller Behavior -- Calling the Controller Behavior -- Defining the View -- Making Improvements -- Administering the Product Catalog -- Preparing Deployd -- Securing the Collections -- Creating the Admin Application -- Adding the Placeholder View -- Implementing Authentication -- Defining the Authenticatio n View.
Defining the Main View and Controller -- Implementing the Orders Feature -- Implementing the Products Feature -- Defining the RESTful Controller -- Defining the View -- Adding the References to the HTML File -- Summary -- Part 2: Working with AngularJS -- Chapter 9: The Anatomy of an AngularJS App -- Preparing the Example Project -- Working with Modules -- Setting the Boundaries of an AngularJS Application -- Using Modules to Define AngularJS Components -- Defining Controllers -- Applying Controllers to Views -- Creating Multiple Views -- Creating Multiple Controllers -- Defining Directives -- Applying Directives to HTML Elements -- Defining Filters -- Applying Filters -- Fixing the Directive -- Defining Services -- Defining Values -- Using Modules to Organize Code -- Working with the Module Life Cycle -- Summary -- Chapter 10: Using Binding and Template Directives -- Why and When to Use Directives -- Preparing the Example Project -- Using the Data Binding Directives -- Performing One-Way Bindings (and Preventing Them) -- Preventing Inline Data Binding -- Creating Two-Way Data Bindings -- Using the Template Directives -- Generating Elements Repeatedly -- Repeating for Object Properties -- Working with Data Object Keys -- Working with the Built-in Variables -- Repeating Multiple Top-Level Elements -- Working with Partial Views -- Selecting Partial Views Dynamically -- Using the ng-include Directive as an Attribute -- Conditionally Swapping Elements -- Hiding Unprocessed Inline Template Binding Expressions -- Summary -- Chapter 11: Using Element and Event Directives -- Preparing the Example Project -- Using the Element Directives -- Showing, Hiding, and Removing Elements -- Avoiding Table Striping Problems and Conflicts with ng-repeat -- Managing Classes and CSS -- Assigning Odd and Even Classes -- Handling Events -- Creating a Custom Event Directive.
Managing Special Attributes -- Managing Boolean Attributes -- Managing Other Attributes -- Summary -- Chapter 12: Working with Forms -- Preparing the Example Project -- Using Form Elements with Two-Way Data Bindings -- Implicitly Creating Model Properties -- Checking That the Data Model Object Has Been Created -- Validating Forms -- Performing Basic Form Validation -- Adding the Form Element -- Using Validation Attributes -- Monitoring the Validity of the Form -- Providing Form Validation Feedback -- Using CSS to Provide Feedback -- Providing Feedback for Specific Validation Constraints -- Using the Special Variables to Provide Feedback -- Reducing the Number of Feedback Elements -- Deferring Validation Feedback -- Using the Form Directive Attributes -- Using Input Elements -- Using Checkboxes -- Using Text Areas -- Using Select Elements -- Changing the First Option Element -- Changing the Selection Value -- Creating optgroup Elements -- Summary -- Chapter 13: Using Controllers and Scopes -- Why and When to Use Controllers and Scopes -- Preparing the Example Project -- Understanding the Basics -- Creating and Applying Controllers -- Setting Up the Scope -- Modifying the Scope -- Organizing Controllers -- Using a Monolithic Controller -- Reusing a Controller -- Communicating Between Scopes -- Using a Service to Mediate Scope Events -- Using Controller Inheritance -- Adding to the Inherited Data and Behaviors -- Overriding Inherited Data and Behaviors -- Understanding Data Inheritance -- Using Multiple Controllers -- Using Scope-less Controllers -- Explicitly Updating the Scope -- Setting Up jQuery UI -- Controlling the Button State -- Counting the Button Clicks -- Summary -- Chapter 14: Using Filters -- Why and When to Use Filters -- Preparing the Example Project -- Downloading the Localization File -- Filtering Single Data Values.
Formatting Currency Values.
Computer programming.
Software engineering.
Web Development.
Software Engineering/Programming and Operating Systems.