AngularJS-routingeksempel med parametre

Fรธr vi lรฆrer, hvordan routing fungerer i Angular, lad os lige fรฅ et hurtigt overblik over Single-Page Applications.

Hvad er Single Page Applications?

Enkeltsideapplikationer eller (SPA'er) er webapplikationer, der indlรฆser en enkelt HTML-side og dynamisk opdaterer siden baseret pรฅ brugerinteraktionen med webapplikationen.

Hvad er Routing i AngularJS?

Routing i AngularJS er en metode, der giver dig mulighed for at oprette Single Page Applications. Det giver dig mulighed for at oprette forskellige URL'er til forskelligt indhold i dine webapplikationer. AngularJS routing hjรฆlper ogsรฅ med at vise flere indhold afhรฆngigt af hvilken rute der er valgt. Det er angivet i URL'en efter # tegnet.

Lad os tage et eksempel pรฅ et websted, der hostes via URL'en http://example.com/index.html.

Pรฅ denne side vil du vรฆre vรฆrt for din ansรธgnings hovedside. Antag, at hvis applikationen organiserede en begivenhed, og man รธnskede at se, hvad de forskellige begivenheder pรฅ skรฆrmen er, eller รธnskede at se detaljerne for en bestemt begivenhed eller slette en begivenhed. I en enkeltside-applikation, nรฅr routing er aktiveret, vil al denne funktionalitet vรฆre tilgรฆngelig via fรธlgende links

http://example.com/index.html#ShowEvent

http://example.com/index.html#DisplayEvent

http://example.com/index.html#DeleteEvent

Symbolet # vil blive brugt sammen med de forskellige ruter (ShowEvent, DisplayEvent og DeleteEvent).

  • Sรฅ hvis brugeren รธnskede at se alle begivenheder, ville de blive dirigeret til linket (http://example.com/index.html#ShowEvent), andet
  • Hvis de bare ville se en bestemt begivenhed, ville de blive omdirigeret til linket ( http://example.com/index.html#DisplayEvent), Eller
  • Hvis de รธnskede at slette en begivenhed, ville de blive dirigeret til linket http://example.com/index.html#DeleteEvent.

Bemรฆrk, at hovedwebadressen forbliver den samme.

Tilfรธjelse af AngularJS Route ved hjรฆlp af $routeProvider

Sรฅ som vi diskuterede tidligere, ruter ind AngularJS bruges til at dirigere brugeren til en anden visning af din applikation. Og denne routing foretages pรฅ den samme HTML-side, sรฅ brugeren har oplevelsen af, at han ikke har forladt siden.

For at implementere routing skal fรธlgende hovedtrin implementeres i din applikation i en bestemt rรฆkkefรธlge.

  1. Reference til angular-route.js. Dette er en JavaScript fil udviklet af Google, der har alle funktionerne til routing. Dette skal placeres i din applikation, sรฅ det kan referere til alle de hovedmoduler, der er nรธdvendige for routing.
  2. Det nรฆste vigtige trin er at tilfรธje en afhรฆngighed til ngRoute-modulet fra din applikation. Denne afhรฆngighed er pรฅkrรฆvet, sรฅ routingfunktionalitet kan bruges i applikationen. Hvis denne afhรฆngighed ikke tilfรธjes, vil man ikke vรฆre i stand til at bruge routing i angular.JS-applikationen.

Nedenfor er den generelle syntaks for denne erklรฆring. Dette er blot en normal erklรฆring af et modul med inklusion af nรธgleordet ngRoute.

var module = angular.module("sampleApp", ['ngRoute']);
  1. Det nรฆste trin ville vรฆre at konfigurere din $routeProvider. Dette er nรธdvendigt for at give de forskellige ruter i din ansรธgning. Nedenfor er den generelle syntaks for denne erklรฆring, som er meget selvforklarende. Det stรฅr bare, at nรฅr den relevante sti er valgt, skal du bruge ruten til at vise den givne visning for brugeren.
when(path, route)
  1. Links til din rute fra din HTML-side. Pรฅ din HTML-side vil du tilfรธje referencelinks til de forskellige tilgรฆngelige ruter i din applikation.
<a href="#/route1">Route 1</a><br/>
  1. Endelig ville vรฆre inddragelsen af ng-view direktiv, som normalt ville vรฆre i et div-tag. Dette vil blive brugt til at injicere indholdet af visningen, nรฅr den relevante rute er valgt.

AngularJS Routing Eksempel

Lad os nu se pรฅ et eksempel pรฅ routing ved hjรฆlp af de ovennรฆvnte trin.

I vores AngularJS routing eksempel med parametre,

Vi vil prรฆsentere 2 links til brugeren,

  • Den ene er at vise emnerne for en Vinkel JS kursus, og den anden er til node.js kursus.
  • Nรฅr brugeren klikker pรฅ et af linkene, vil emnerne for det pรฅgรฆldende kursus blive vist.

Trin 1) Inkluder angular-route-filen som en scriptreference.

AngularJS Routing

Denne rutefil er nรธdvendig for at gรธre brug af funktionerne ved at have flere ruter og udsigter. Denne fil kan downloades fra webstedet angular.JS.

Trin 2) Tilfรธj href-tags, som reprรฆsenterer links til "Angular JS Topics" og "Node JS Topics".

AngularJS Routing

Trin 3) Tilfรธj et div-tag med ng-view-direktivet, som reprรฆsenterer visningen.

Dette vil tillade den tilsvarende visning at blive injiceret, hver gang brugeren klikker pรฅ enten "Angular JS Topics" eller "Node JS Topics".

AngularJS Routing

Trin 4) Tilfรธj "ngRoute-modulet" og "$routeProvider"-tjenesten i dit script-tag til AngularJS.

AngularJS Routing

Kodeforklaring:

  1. Det fรธrste trin er at sikre at inkludere "ngRoute-modulet." Med dette pรฅ plads vil Angular automatisk hรฅndtere routing i din applikation. ngRoute-modulet, som er udviklet af Google, har al den funktionalitet, som gรธr det muligt at routing. Ved at tilfรธje dette modul vil applikationen automatisk forstรฅ alle routing-kommandoer.
  2. $routeprovideren er en tjeneste, som angular bruger til at lytte i baggrunden til de ruter, der kaldes. Sรฅ nรฅr brugeren klikker pรฅ et link, vil ruteudbyderen i AngularJS opdage dette og derefter beslutte, hvilken rute der skal tages.
  3. Opret รฉn rute for Angular-linket โ€“ Denne blok betyder, at nรฅr der klikkes pรฅ Angular-linket, skal du injicere filen Angular.html og ogsรฅ bruge controlleren 'AngularController' til at behandle enhver forretningslogik.
  4. Opret รฉn rute for Node-linket โ€“ Denne blok betyder, at nรฅr der klikkes pรฅ Node-linket, skal du injicere filen Node.html og ogsรฅ bruge controlleren 'NodeController' til at behandle enhver forretningslogik.

Trin 5) Det nรฆste er at tilfรธje controllere til at behandle forretningslogikken for bรฅde AngularController og NodeController.

I hver controller opretter vi en rรฆkke nรธglevรฆrdi-par til at gemme emnenavne og beskrivelser for hvert kursus. Array-variablen 'tutorial' fรธjes til scope-objektet for hver controller.

AngularJS Routing

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
</head>
<body ng-app="sampleApp">
<title>Event Registration</title>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>

<h1> Guru99 Global Event</h1>

<div class="container">
    <ul>
        <li><a href="#Angular">Angular JS Topics</a></li>
        <li><a href="#Node.html">Node JS Topics</a></li>
    </ul>
    <div ng-view></div>
</div>

<script>
    var sampleApp = angular.module('sampleApp',['ngRoute']);
    sampleApp.config(['$routeProvider',

        function($routeProvider){
        $routeProvider.
        when('/Angular',{
            templateUrl : '/Angular.html',
            controller: 'AngularController'
        }).
        when("/Node", {
            templateUrl: '/Node.html',
            controller: 'NodeController'
        });
    }]);
    sampleApp.controller('AngularController',function($scope) {

        $scope.tutorial = [
            {Name:"Controllers",Description :"Controllers in action"},
            {Name:"Models",Description :"Models and binding data"},
            {Name:"Directives",Description :"Flexibility of Directives"}
        ]
    });

    sampleApp.controller('NodeController',function($scope){

        $scope.tutorial = [
            {Name:"Promises",Description :"Power of Promises"},
            {Name:"Event",Description :"Event of Node.js"},
            {Name:"Modules",Description :"Modules in Node.js"}
            ]
    });

</script>
</body>
</html>

Trin 6) Opret sider kaldet Angular.html og Node.html. For hver side udfรธrer vi nedenstรฅende trin.

Disse trin sikrer, at alle nรธglevรฆrdi-par i arrayet vises pรฅ hver side.

  1. Brug af ng-repeat-direktivet til at gennemgรฅ hvert nรธglevรฆrdi-par, der er defineret i selvstudievariablen.
  2. Viser navn og beskrivelse af hvert nรธglevรฆrdi-par.
  • Angular.html

AngularJS Routing

<h2>Anguler</h2>
<ul ng-repeat="ptutor in tutorial">
    <li>Course : {{ptutor.Name}} - {{ptutor.Description}}</li>
</ul>
  • Node.html

AngularJS Routing

<h2>Node</h2>
<ul ng-repeat="ptutor in tutorial">
    <li>Course : {{ptutor.Name}} - {{ptutor.Description}}</li>
</ul>

Hvis koden eksekveres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.

Output:

AngularJS Routing

Hvis du klikker pรฅ linket AngularJS Emner, vil nedenstรฅende output blive vist.

AngularJS Routing

Outputtet viser tydeligt, at

  • Nรฅr der klikkes pรฅ linket "Angular JS Topics", beslutter ruteudbyderen, som vi har erklรฆret i vores kode, at Angular.html-koden skal injiceres.
  • Denne kode vil blive injiceret i "div"-tagget, som indeholder ng-view-direktivet. Desuden kommer indholdet af kursusbeskrivelsen fra "tutorial-variablen", som var en del af scope-objektet defineret i AngularController.
  • Nรฅr man klikker pรฅ node.js Emner, det samme resultat vil finde sted, og visningen for Node.js-emner vil blive manifesteret.
  • Bemรฆrk ogsรฅ, at sidens URL forbliver den samme, det er kun ruten efter #-tagget, der รฆndres. Og dette er konceptet med enkeltsideapplikationer. #hash-tagget i URL'en er en separator, som adskiller ruten (som i vores tilfรฆlde er 'Angular' som vist pรฅ ovenstรฅende billede) og HTML-hovedsiden (Sample.html)

AngularJS Routing

Oprettelse af en standardrute i AngularJS

Routing i AngularJS giver ogsรฅ mulighed for at have en standardrute. Dette er den rute, der vรฆlges, hvis der ikke er match for den eksisterende rute.

Standardruten oprettes ved at tilfรธje fรธlgende betingelse, nรฅr du definerer $routeProvider-tjenesten.

Nedenstรฅende syntaks betyder simpelthen at omdirigere til en anden side, hvis nogen af โ€‹โ€‹de eksisterende ruter ikke matcher.

otherwise ({
    redirectTo: 'page'
});

Lad os bruge det samme eksempel ovenfor og tilfรธje en standardrute til vores $routeProvider-tjeneste.

Oprettelse af en standardrute i AngularJS

function($routeProvider){
$routeProvider.

when('/Angular',{
templateUrl : 'Angular.html',
controller: 'AngularController'
}).

when("/Node", {
templateUrl: 'Node.html',
controller: 'NodeController'
}).
otherwise({
    redirectTo:'/Angular'
});
}]);

Kodeforklaring:

  1. Her bruger vi den samme kode som ovenfor, med den eneste forskel er, at vi bruger sรฆtningen ellers og muligheden "redirectTo" til at angive, hvilken visning der skal indlรฆses, hvis der ikke er angivet en rute. I vores tilfรฆlde รธnsker vi, at '/Angular'-visningen skal vises.

Hvis koden eksekveres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.

Output:

Oprettelse af en standardrute i AngularJS

Fra udgangen,

  • Du kan tydeligt se, at den viste standardvisning er den vinklede JS-visning.
  • Dette skyldes, at nรฅr siden indlรฆses, gรฅr den til 'otherwise'-indstillingen i $routeProvider-funktionen og indlรฆser '/Angular'-visningen.

Sรฅdan fรฅr du adgang til parametre fra AngularJS-ruten

Angular giver ogsรฅ funktionaliteten til at levere parametre under routing. Parametrene tilfรธjes til slutningen af โ€‹โ€‹ruten i URL'en, f.eks. http://guru99/index.html#/Angular/1. I dette eksempel pรฅ Angular routing,

  1. , http://guru99/index.html er vores primรฆre applikations-URL
  2. #-symbolet er skillelinjen mellem hovedapplikationens URL og ruten.
  3. Kantet er vores rute
  4. Og endelig er '1' parameteren, som tilfรธjes til vores rute

Syntaksen for, hvordan parametre ser ud i URL'en, er vist nedenfor:

HTMLPage#/rute/parameter

Her vil du bemรฆrke, at parameteren sendes efter ruten i URL'en.

Sรฅ i vores AngularJS-ruteeksempel, ovenfor for Angular JS-emnerne, kan vi videregive en parametre som vist nedenfor

Sample.html#/Angular/1

Sample.html#/Angular/2

Sample.html#/Angular/3

Her kan parametrene 1, 2 og 3 faktisk reprรฆsentere emnet.

Lad os se nรฆrmere pรฅ, hvordan vi kan implementere Angular rute med parameter:

Trin 1) Tilfรธj fรธlgende kode til din visning

  1. Tilfรธj en tabel for at vise alle emnerne for Angular JS-kurset til brugeren
  2. Tilfรธj en tabelrรฆkke til at vise emnet "Kontrollere". For denne rรฆkke skal du รฆndre href-tagget til "Angular/1", hvilket betyder, at nรฅr brugeren klikker pรฅ dette emne, vil parameter 1 blive sendt i URL'en sammen med ruten.
  3. Tilfรธj en tabelrรฆkke til at vise emnet "Modeller". For denne rรฆkke skal du รฆndre href-tagget til "Angular/2", hvilket betyder, at nรฅr brugeren klikker pรฅ dette emne, vil parameter 2 blive sendt i URL'en sammen med ruten.
  4. Tilfรธj en tabelrรฆkke til at vise emnet "Direktiver". For denne rรฆkke skal du รฆndre href-tagget til "Angular/3", hvilket betyder, at nรฅr brugeren klikker pรฅ dette emne, vil parameter 3 blive sendt i URL'en sammen med ruten.

Fรฅ adgang til parametre fra AngularJS-ruten

Trin 2) Tilfรธj emne-id i ruteudbyderens servicefunktion
I ruteudbyderens servicefunktion skal du tilfรธje:topicId for at angive, at enhver parameter, der sendes i URL'en efter ruten, skal tildeles variablen topicId.

Fรฅ adgang til parametre fra AngularJS-ruten

Trin 3) Tilfรธj den nรธdvendige kode til controlleren

  1. Sรธrg for fรธrst at tilfรธje "$routeParams" som en parameter, nรฅr du definerer controllerfunktionen. Denne parameter vil have adgang til alle ruteparametrene, der sendes i URL'en.
  2. Parameteren "routeParams" har en reference til topicId-objektet, som sendes som en ruteparameter. Her vedhรฆfter vi variablen '$routeParams.topicId' til vores scope-objekt som variablen '$scope.tutotialid'. Dette gรธres, sรฅ det efter vores mening kan refereres til via tutorialid-variablen.

Fรฅ adgang til parametre fra AngularJS-ruten

<!DOCTYPE html>
<html>
<head>

    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body ng-app="sampleApp">

<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/bootstrap.css"></script>

<h1> Guru99 Global Event</h1>
<table class="table table-striped">
    <thead>
    <tr> <th>#</th><th>Angular JS topic</th><th>Description</th><th></th> </tr> </thead>
    <tbody>
    <tr>
        <td>l</td><td>l</td><td>Controllers</td>
        <td><a href="#Angular/l">Topic details</a></td>
    </tr>
    <tr>
        <td>2</td><td>2</td><td>Models</td>
        <td><a href="#Angular/2">Topic details</a></td>
    </tr>
    <tr>
        <td>3</td><td>3</td><td>Directives</td>
        <td><a href="#Angular/3">Topic details</a></td>
    </tr>
    </tbody>
</table>

<script>
    var sampleApp = angular.module('sampleApp',['ngRoute']);

    sampleApp.config(
        function($routeProvider){
            $routeProvider.
            when('/Angular/:topicId',{
                templateUrl : 'Angular.html',
                controller: 'AngularController'
            })
        });

    sampleApp.controller('AngularController',function($scope,$routeParams) {

        $scope.tutorialid=$routeParams.topicId

    });
</script>
</body>
</html>

Trin 4) Tilfรธj udtrykket for at vise variabel
Tilfรธj udtrykket for at vise tutorialid-variablen pรฅ siden Angular.html.

Fรฅ adgang til parametre fra AngularJS-ruten

<h2>Anguler</h2>

<br><br>{{tutorialid}}

Hvis koden eksekveres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.

Output:

Fรฅ adgang til parametre fra AngularJS-ruten

Pรฅ outputskรฆrmen,

  • Hvis du klikker pรฅ linket Emnedetaljer for det fรธrste emne, tilfรธjes tallet 1 til URL'en.
  • Dette nummer vil derefter blive taget som et "routeparam"-argument af Angular.JS-ruteudbydertjenesten og kan derefter tilgรฅs af vores controller.

Sรฅdan bruges Angular $route Service

$route-tjenesten giver dig adgang til rutens egenskaber. $route-tjenesten er tilgรฆngelig som en parameter, nรฅr funktionen er defineret i controlleren. Den generelle syntaks for, hvordan parameteren $route er tilgรฆngelig fra controlleren, er vist nedenfor;

myApp.controller('MyController',function($scope,$route)
  1. myApp er det angular.JS-modul, der er defineret til dine applikationer
  2. MyController er navnet pรฅ den controller, der er defineret til din applikation
  3. Ligesom $scope-variablen gรธres tilgรฆngelig for din applikation, som bruges til at videregive information fra controlleren til visningen. Parameteren $route bruges til at fรฅ adgang til rutens egenskaber.

Lad os se pรฅ, hvordan vi kan bruge $route-tjenesten.

I dette eksempel

  • Vi vil oprette en simpel brugerdefineret variabel kaldet "mytext", som vil indeholde strengen "This is angular."
  • Vi vil vedhรฆfte denne variabel til vores rute. Og senere vil vi fรฅ adgang til denne streng fra vores controller ved hjรฆlp af $route-tjenesten og derefter bruge scope-objektet til at vise det i vores visning.

Sรฅ lad os se, hvilke skridt vi skal udfรธre for at opnรฅ dette.

Trin 1) Tilfรธj et tilpasset nรธglevรฆrdi-par til ruten. Her tilfรธjer vi en nรธgle kaldet 'mintekst' og tildeler den vรฆrdien "Dette er kantet."

Angular $route Service

Trin 2) Tilfรธj den relevante kode til controlleren

  1. Tilfรธj $route-parameteren til controllerfunktionen. $route-parameteren er en nรธgleparameter defineret i vinkel, som giver adgang til rutens egenskaber.
  2. Variablen "mytext" som blev defineret i ruten kan tilgรฅs via $route.current referencen. Dette tildeles derefter til scope-objektets 'tekst'-variabel. Tekstvariablen kan derefter tilgรฅs fra visningen i overensstemmelse hermed.

Angular $route Service

<!DOCTYPE html>
<html>
<head>

    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body ng-app="sampleApp">

<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/bootstrap.css"></script>

<h1> Guru99 Global Event</h1>
<table class="table table-striped">
    <thead>
    <tr> <th>#</th><th>Angular JS topic</th><th>Description</th><th></th> </tr> </thead>
    <tbody>
    <tr>
        <td>l</td><td>l</td><td>Controllers</td>
        <td><a href="#Angular/l">Topic details</a></td>
    </tr>
    <tr>
        <td>2</td><td>2</td><td>Models</td>
        <td><a href="#Angular/2">Topic details</a></td>
    </tr>
    <tr>
        <td>3</td><td>3</td><td>Directives</td>
        <td><a href="#Angular/3">Topic details</a></td>
    </tr>
    </tbody>
</table>

<script>
    var sampleApp = angular.module('sampleApp',['ngRoute']);

    sampleApp.config(['$routeProvider',
        function($routeProvider){
            $routeProvider.
            when('/Angular/:topicId',{
                mytext:"This is angular",
                templateUrl : 'Angular.html',
                controller: 'AngularController'
            })
        }]);

    sampleApp.controller('AngularController',function($scope,$routeParams,$route) {

        $scope.tutorialid=$routeParams.topicId;
        $scope.text=$route.current.mytext;

    });
</script>
</body>
</html>

Trin 3) Tilfรธj en reference til tekstvariablen fra scope-objektet som et udtryk. Dette vil blive tilfรธjet til vores Angular.html side som vist nedenfor.

Dette vil medfรธre, at teksten "This is angular" indsprรธjtes i visningen. {{tutorialid}}-udtrykket er det samme som i det forrige emne, og dette vil vise tallet '1'.

Angular $route Service

<h2>Anguler</h2>

<br><br>{{text}}

<br><br>

Hvis koden eksekveres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.

Output:

Angular $route Service

Fra udgangen,

  • Vi kan se, at teksten "This is angular" ogsรฅ bliver vist, nรฅr vi klikker pรฅ et af linkene i tabellen. Emne-id'et bliver ogsรฅ vist pรฅ samme tid som teksten.

Aktivering af HTML5-routing

HTML5-routing bruges grundlรฆggende til at skabe en ren URL. Det betyder fjernelse af hashtagget fra URL'en. Sรฅ routing-URL'erne, nรฅr HTML5-routing bruges, vil se ud som vist nedenfor

Sample.html/Angular/1

Sample.html/Angular/2

Sample.html/Angular/3

Dette koncept er normalt kendt som at prรฆsentere en smuk URL til brugeren.

Der er 2 hovedtrin, som skal udfรธres for HTML5-routing.

  1. Konfigurerer $locationProvider
  2. Sรฆtter vores base for relative links

Lad os se nรฆrmere pรฅ, hvordan man udfรธrer de ovennรฆvnte trin i vores eksempel ovenfor

Trin 1) Tilfรธj den relevante kode til vinkelmodulet

  1. Tilfรธj en baseURL-konstant til applikationen โ€“ Dette er pรฅkrรฆvet for HTML5-routing, sรฅ applikationen ved, hvad applikationens basisplacering er.
  2. Tilfรธj $locationProvider-tjenesterne. Denne service giver dig mulighed for at definere html5Mode.
  3. Indstil html5Mode for $locationProvider-tjenesten til sand.

Aktivering af HTML5-routing

Trin 2) Fjern alle #tags for linkene ('Angular/1', 'Angular/2', 'Angular/3') for at oprette en letlรฆselig URL.

Aktivering af HTML5-routing

<!DOCTYPE html>
<html>
<head>

    <meta chrset="UTF 8">
    <title>Event Registration</title>
</head>
<body ng-app="sampleApp">

<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/bootstrap.css"></script>

<h1> Guru99 Global Event</h1>
<table class="table table-striped">
    <thead>
    <tr> <th>#</th><th>Angular JS topic</th><th>Description</th><th></th> </tr> </thead>
    <tbody>
    <tr>
        <td>l</td><td>l</td><td>Controllers</td>
        <td><a href="Angular/l">Topic details</a></td>
    </tr>
    <tr>
        <td>2</td><td>2</td><td>Models</td>
        <td><a href="Angular/2">Topic details</a></td>
    </tr>
    <tr>
        <td>3</td><td>3</td><td>Directives</td>
        <td><a href="Angular/3">Topic details</a></td>
    </tr>
    </tbody>
</table>

<script>
    var sampleApp = angular.module('sampleApp',['ngRoute']);
    sampleApp.constant("baseUrl","http://localhost:63342/untitled/Sample.html/Angular");

    sampleApp.config(
        function($routeProvider,$locationProvider){
            $routeProvider.
            when('/Angular/:topicId',{
                templateUrl : 'Angular.html',
                controller: 'AngularController'
            })
        });

    sampleApp.controller('AngularController',function($scope,$routeParams,$route) {

        $scope.tutorialid=$routeParams.topicId

    });
</script>
</body>
</html>

Hvis koden eksekveres med succes, vil fรธlgende output blive vist, nรฅr du kรธrer din kode i browseren.

Output:

Aktivering af HTML5-routing

Fra udgangen,

  • Du kan se, at #-tagget ikke er der, nรฅr du fรฅr adgang til applikationen.

Resumรฉ

  • Routing bruges til at prรฆsentere forskellige visninger for brugeren pรฅ den samme webside. Dette er dybest set det koncept, der bruges i enkeltsideapplikationer, som er implementeret til nรฆsten alle moderne webapplikationer
  • En standardrute kan sรฆttes op til angular.JS routing. Det bruges til at bestemme, hvad der vil vรฆre standardvisningen, der skal vises til brugeren
  • Parametre kan overfรธres til ruten via URL'en som ruteparametre. Disse parametre tilgรฅs derefter ved at bruge parameteren $routeParams i controlleren
  • $route-tjenesten kan bruges til at definere brugerdefinerede nรธgle-vรฆrdi-par i ruten, som derefter kan tilgรฅs fra visningen
  • HTML5-routing bruges til at fjerne #tag fra routing-URL i vinkel for at danne en smuk URL

Opsummer dette indlรฆg med: