AngularJS Routing Routes, Route Parameters, Templates, Location, Navigation SoftUni Team Technical Trainers Software University

Slides:



Advertisements
Similar presentations
JavaScript Basics Course Introduction SoftUni Team Technical Trainers Software University
Advertisements

Software Quality Assurance QA Engineering, Testing, Bug Tracking, Test Automation Software University Technical Trainers SoftUni Team.
 Dimitar Ivanov Introduction to programming with microcontrollers.
AngularJS Services Built-in and Custom Services SoftUni Team Technical Trainers Software University
Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University
Software University Curriculum, Courses, Exams, Jobs SoftUni Team Technical Trainers Software University
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
Project Tracking Tools Trello, Asana, Basecamp, GitHub Issue Tracker, TRAC SoftUni Team Technical Trainers Software University
AngularJS Directives Defining Custom Directives SoftUni Team Technical Trainers Software University
Software Testing Lifecycle Exit Criteria Evaluation, Continuous Integration Ivan Yonkov Technical Trainer Software University.
Teamwork and Personal Skills Course Introduction Software University SoftUni Team Technical Trainers.
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
JavaScript Design Patterns Private Fields, Module, Revealing Module, Revealing Prototype, … Software University Technical Trainers SoftUni.
Redis Key-Value Database: Practical Introduction
Composer packages Installing and Using Composer, Packagist, Packaging your code Mario Peshev Technical Trainer Software University
Consuming REST Services from C# SoftUni Team Technical Trainers Software University
Start Your Own Blog Angel Georgiev Part-time Trainer angeru.softuni-friends.org Software University The Culture of Knowledge Sharing.
Database APIs and Wrappers
Entity Framework Performance SoftUni Team Technical Trainers Software University
Svetlin Nakov Technical Trainer Software University
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Processing Redis with.NET How to Operate with Redis Databases SoftUni Team Technical Trainers Software University
Project Tracking Tools Trello, Asana, Basecamp, GitHub Issue Tracker, TRAC Angel Georgiev Part-time Trainer Software University
MVC Concepts Basics Model-View-Controller (MVC) Concepts for Web Developers SoftUni Team Technical Trainers Software University
Test-Driven Development Learn the "Test First" Approach to Coding SoftUni Team Technical Trainers Software University
CV Structure, Content, Layout, Formatting, Best Practices SoftUni Team Technical Trainers Software University
Templating, Routing, lodash Extending functionality using Collections SoftUni Team Technical Trainers Software University
ASP.NET MVC Architecture Layouts, Filters, Sections, Helpers, Partial Views, Areas… SoftUni Team Technical Trainers Software University
Controllers and Markup Controllers, $scope, Markup, Directives, Expressions, Binding, Filters, Validation SoftUni Team Technical Trainers Software University.
AMD and RequireJS Splitting JavaScript Code into Dependent Modules Software University Technical Trainers SoftUni Team.
Asynchronous Web Services Writing Asynchronous Web Services SoftUni Team Technical Trainers Software University
Sessions and Cookies State Management, Cookies, Sessions, Hidden Fields SoftUni Team Technical Trainers Software University
Controls, Widgets, Grid…
Jekyll Static Site Generator Template-Based Site Generation Svetlin Nakov Technical Trainer Software University
Forms Overview, Query string, Submitting arrays, PHP & HTML, Input types, Redirecting the user Mario Peshev Technical Trainer Software.
JavaScript Modules and Patterns Private Fields, Module, Revealing Module, Revealing Prototype, … Software University Technical Trainers.
Web Development Tools Tools for Front-End Developers Writing HTML and CSS Code SoftUni Team Technical Trainers Software University
JQuery Overview Unleash the Power of jQuery SoftUni Team Technical Trainers Software University
Responsive Design Design that Adapts to Different Devices SoftUni Team Technical Trainers Software University
Krishna Mohan Koyya Glarimy Technology Services
Processing JSON in.NET JSON, JSON.NET LINQ-to-JSON and JSON to XML SoftUni Team Technical Trainers Software University
Tables, Rows, Columns, Cells, Header, Footer, Colspan, Rowspan
CSS Transitions and Animations Animated HTML Elements SoftUni Team Technical Trainers Software University
Design Patterns: Structural Design Patterns General and reusable solutions to common problems in software design Software University
Bootstrap Front-End Framework for Responsive Web Sites Svetlin Nakov Technical Trainer Software University
Events Event Handling in JavaScript SoftUni Team Technical Trainers Software University
Mocking with Moq Tools for Easier Unit Testing SoftUni Team Technical Trainers Software University
Mocking Unit Testing Methods with External Dependencies SoftUni Team Technical Trainers Software University
Mocking with Moq Mocking tools for easier unit testing Svetlin Nakov Technical Trainer Software University
JavaScript Tools Tools for Writing / Editing / Debugging JavaScript Code Svetlin Nakov Technical Trainer Software University
Test-Driven Development Learn the "Test First" Approach to Coding Svetlin Nakov Technical Trainer Software University
Sets, Dictionaries SoftUni Team Technical Trainers Software University
JavaScript Applications Course Introduction SoftUni Team Technical Trainers Software University
Creating Content Defining Topic, Creating Technical Training Materials SoftUni Team Technical Trainers Software University
Doctrine The PHP ORM SoftUni Team Technical Trainers Software University
Team Work and Personal Skills Course Introduction Angel Georgiev Part-time Trainer Software University
Creating Content Defining Topic, Creating Technical Training Materials SoftUni Team Technical Trainers Software University
Web Storage and Cookies Cookies, Local and Session Storage SoftUni Team Technical Trainers Software University
First Steps in PHP Creating Very Simple PHP Scripts SoftUni Team Technical Trainers Software University
AngularJS Best Practices High Quality SPA Applications SoftUni Team Technical Trainers Software University
Inheritance Class Hierarchies SoftUni Team Technical Trainers Software University
Stacks and Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Generics SoftUni Team Technical Trainers Software University
AngularJS Best Practices High Quality SPA Applications SoftUni Team Technical Trainers Software University
Introduction to MVC SoftUni Team Introduction to MVC
State Management Cookies, Sessions SoftUni Team State Management
PHP MVC Frameworks MVC Fundamentals SoftUni Team Technical Trainers
MVC Architecture. Routing
Extending functionality using Collections
Making big SPA applications
Presentation transcript:

AngularJS Routing Routes, Route Parameters, Templates, Location, Navigation SoftUni Team Technical Trainers Software University

Table of Contents 1.What is Routing in SPA? 2.What is Template? 3.Create and Navigate Routes 4.Working with Route Parameters 5.Enabling HTML5 Routing 6.Inspect URL Parts 2

What are Routing and Templates? Routes and Templates in SPA

4  Routing in SPA == mapping certain URL to certain page  E.g. #/user/orders  shows user's orders, #/login  shows the app login form  Provides history ([Back] and [Forward] browser buttons)  Descriptive URLs for the end user  Routing in Angular maps application paths to certain controllers + partial views (templates) What is Routing in SPA?

5  Templates == HTML fragments stored as.html files  E.g. a HTML template for listing customer orders in a table  Contain part of the web page (a partial view)  Usually bound to data stored in the $scope  Usually are rendered through AJAX  Rendered somewhere in the DOM  Typically in the element What is Template?

Creating Routes in AngularJS Routes, Templates and Controllers

1.Create default page for your module (e.g. index.html ) 2.Include all scripts (e.g. angular.js, angular-route.js, …) 3.Create directive inside your default page templates/news.html 4.Create a template (e.g. templates/news.html ) Creating Routes in Angular <header> Home Home News News </header><ng-view> // Here partial views will be rendered // Here partial views will be rendered</ng-view> 7

1.Include angular-route.js module 2.Add ngRoute dependency for your module 3.Add config and use $routeProvider to define your routes Creating Routes in Angular (2) var app = angular.module('app', ['ngRoute']).config(function($routeProvider) {.config(function($routeProvider) { $routeProvider.when('/news', { $routeProvider.when('/news', { templateUrl: 'templates/news.html', templateUrl: 'templates/news.html', controller: 'NewsController' controller: 'NewsController' }); }); $routeProvider.otherwise({ redirectTo: '/' }); $routeProvider.otherwise({ redirectTo: '/' }); }); }); 8

Creating Routes in Angular Live Demo

Working with Route Parameters

1.Pass news id as URL parameter 2.Add route for the page 3.Read the parameters through the $routeParams service Working with Route Parameters $routeProvider.when('#/news/:newsId', { templateUrl: 'templates/news-details.html', templateUrl: 'templates/news-details.html', controller: 'NewsDetailsController' controller: 'NewsDetailsController'}); app.controller('NewsDetailsController', function($scope, $routeParams, newsData) { $scope.news = newsData.getNewsById($routeParams.newsId); $scope.news = newsData.getNewsById($routeParams.newsId);}); 11

Working with Route Parameters Live Demo

13  URL:  params can access all parameters  pathParams only includes the parameters that are part of the route  reload reloads the page without reloading entire application Using the $route Service $route.current.params.newsId; // 2 $route.current.pathParams.newsId; // 2 $route.current.params.page; // 12 $route.current.pathParams.page; // undefined $route.reload();

Using the $route Service Live Demo

1.Inject $locationProvider in config function 2.Enable HTML5 Routing 3.Remove hashes (e.g. # ) from menu links 4.You have HTML5 Routing Enable HTML5 Routing $locationProvider.html5Mode(true); News News

Enable HTML5 Routing Live Demo

 Using the $location service:  absUrl()   protocol()  http  port()  8080  host()  localhost  path()  /news  url()  /news Inspecting URL Parts with $location 17

Using $location Service Live Demo

19  Which service do you use to create routes?  $routeProvider  Which service do you use to access the route parameters?  $routeParams  How do you enable HTML5 routing?  $locationProvider.html5Mode(true); Summary

? ? ? ? ? ? ? ? ? AngularJS Routing

License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" licenseCreative Commons Attribution- NonCommercial-ShareAlike 4.0 International 21  Attribution: this work may contain portions from  "SPA with AngularJS" course by Telerik Academy under CC-BY-NC-SA licenseSPA with AngularJSCC-BY-NC-SA

Free Software University  Software University Foundation – softuni.orgsoftuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg softuni.bg  Software Facebook  facebook.com/SoftwareUniversity facebook.com/SoftwareUniversity  Software YouTube  youtube.com/SoftwareUniversity youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bgforum.softuni.bg