AngularJS-Routing-Beispiel mit Parametern

Bevor wir lernen, wie Routing in Angular funktioniert, werfen wir zunรคchst einen kurzen รœberblick รผber Single-Page-Anwendungen.

Was sind Single-Page-Anwendungen?

Single-Page-Anwendungen oder (SPAs) sind Webanwendungen, die eine einzelne HTML-Seite laden und die Seite basierend auf der Benutzerinteraktion mit der Webanwendung dynamisch aktualisieren.

Was ist Routing in AngularJS?

Routing in AngularJS ist eine Methode, mit der Sie Single-Page-Anwendungen erstellen kรถnnen. Sie ermรถglicht es Ihnen, verschiedene URLAngularJS-Routing ermรถglicht die Anzeige unterschiedlicher Inhalte in Ihren Webanwendungen. Es hilft dabei, je nach gewรคhlter Route verschiedene Inhalte anzuzeigen. Dies wird in der Datei `/json/s` spezifiziert. URL nach dem #-Zeichen.

Nehmen wir als Beispiel eine Website, die รผber den URL http://example.com/index.html.

Auf dieser Seite hosten Sie die Hauptseite Ihrer Anwendung. Angenommen, die Anwendung organisiert ein Event und man mรถchte sehen, welche verschiedenen Events angezeigt werden, oder die Details eines bestimmten Events sehen oder ein Event lรถschen. In einer Single Page-Anwendung wรคren alle diese Funktionen bei aktivierter Weiterleitung รผber die folgenden Links verfรผgbar:

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

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

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

Das #-Symbol wรผrde zusammen mit den verschiedenen Routen (ShowEvent, DisplayEvent und DeleteEvent) verwendet werden.

  • Wenn der Benutzer also alle Ereignisse sehen mรถchte, wird er zum Link (http://example.com/index.html#ShowEvent), anders
  • Wenn sie nur ein bestimmtes Ereignis sehen wollten, wurden sie zum Link weitergeleitet ( http://example.com/index.html#DisplayEventoder
  • Wenn sie eine Veranstaltung lรถschen wollten, wรผrden sie auf den Link weitergeleitet http://example.com/index.html#DeleteEvent.

Beachten Sie, dass das Haupt URL bleibt gleich.

Hinzufรผgen einer AngularJS-Route mit $routeProvider

Wie wir bereits besprochen haben, sind Routen in AngularJS werden verwendet, um den Benutzer zu einer anderen Ansicht Ihrer Anwendung weiterzuleiten. Und dieses Routing erfolgt auf derselben HTML-Seite, sodass der Benutzer das Gefรผhl hat, die Seite nicht verlassen zu haben.

Um das Routing zu implementieren, mรผssen die folgenden Hauptschritte in einer bestimmten Reihenfolge in Ihrer Anwendung implementiert werden.

  1. Verweis auf angle-route.js. Das ist ein JavaSkript Datei entwickelt von Google Diese Bibliothek enthรคlt alle Routing-Funktionen. Sie muss in Ihre Anwendung eingebunden werden, damit sie auf alle fรผr das Routing benรถtigten Hauptmodule zugreifen kann.
  2. Der nรคchste wichtige Schritt besteht darin, aus Ihrer Anwendung heraus eine Abhรคngigkeit zum ngRoute-Modul hinzuzufรผgen. Diese Abhรคngigkeit ist erforderlich, damit die Routing-Funktionalitรคt innerhalb der Anwendung genutzt werden kann. Wenn diese Abhรคngigkeit nicht hinzugefรผgt wird, kann das Routing innerhalb der Angular.JS-Anwendung nicht verwendet werden.

Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung. Dies ist lediglich eine normale Deklaration eines Moduls unter Einbeziehung des Schlรผsselworts ngRoute.

var module = angular.module("sampleApp", ['ngRoute']);
  1. Der nรคchste Schritt wรคre die Konfiguration Ihres $routeProviders. Dies ist fรผr die Bereitstellung der verschiedenen Routen in Ihrer Anwendung erforderlich. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung, die sehr selbsterklรคrend ist. Es heiรŸt lediglich, dass bei Auswahl des relevanten Pfads die Route verwendet werden soll, um dem Benutzer die angegebene Ansicht anzuzeigen.
when(path, route)
  1. Links zu Ihrer Route von Ihrer HTML-Seite aus. Auf Ihrer HTML-Seite fรผgen Sie Referenzlinks zu den verschiedenen verfรผgbaren Routen in Ihrer Anwendung hinzu.
<a href="#/route1">Route 1</a><br/>
  1. SchlieรŸlich wรคre die Aufnahme der ng-view-Direktive, was normalerweise in einem div-Tag wรคre. Dies wรผrde verwendet werden, um den Inhalt der Ansicht einzufรผgen, wenn die relevante Route ausgewรคhlt wird.

AngularJS-Routing-Beispiel

Schauen wir uns nun ein Beispiel fรผr das Routing mit den oben genannten Schritten an.

In unserem AngularJS-Routing-Beispiel mit Parametern:

Wir werden dem Benutzer 2 Links prรคsentieren,

  • Eine besteht darin, die Themen fรผr eine anzuzeigen Angular JS Natรผrlich, und der andere ist fรผr die Node.js an.
  • Wenn der Benutzer auf einen der Links klickt, werden die Themen fรผr diesen Kurs angezeigt.

Schritt 1) Fรผgen Sie die Angular-Route-Datei als Skriptreferenz ein.

AngularJS-Routing

Diese Routendatei ist erforderlich, um die Funktionalitรคt mehrerer Routen und Ansichten nutzen zu kรถnnen. Diese Datei kann von der Website angle.JS heruntergeladen werden.

Schritt 2) Fรผgen Sie href-Tags hinzu, die Links zu โ€žAngular JS Topicsโ€œ und โ€žNode JS Topicsโ€œ darstellen.

AngularJS-Routing

Schritt 3) Fรผgen Sie ein div-Tag mit der ng-view-Direktive hinzu, das die Ansicht darstellt.

Dadurch kann die entsprechende Ansicht immer dann eingefรผgt werden, wenn der Benutzer entweder auf โ€žAngular JS Topicsโ€œ oder โ€žNode JS Topicsโ€œ klickt.

AngularJS-Routing

Schritt 4) Fรผgen Sie in Ihrem Skript-Tag fรผr AngularJS das โ€žngRoute-Modulโ€œ und den โ€ž$routeProviderโ€œ-Dienst hinzu.

AngularJS-Routing

Code Erlรคuterung:

  1. Der erste Schritt besteht darin, das โ€žngRoute-Modulโ€œ einzubinden. Ist dies der Fall, รผbernimmt Angular automatisch das Routing in Ihrer Anwendung. Das ngRoute-Modul wurde von โ€ฆ entwickelt. Google Es verfรผgt รผber alle Funktionen, die fรผr das Routing erforderlich sind. Durch Hinzufรผgen dieses Moduls versteht die Anwendung automatisch alle Routing-Befehle.
  2. Der $routeprovider ist ein Dienst, den Angular verwendet, um im Hintergrund die aufgerufenen Routen abzuhรถren. Wenn der Benutzer also auf einen Link klickt, erkennt der Routeprovider in AngularJS dies und entscheidet dann, welche Route er nehmen mรถchte.
  3. Erstellen Sie eine Route fรผr den Angular-Link โ€“ Dieser Block bedeutet, dass beim Klicken auf den Angular-Link die Datei Angular.html eingefรผgt wird und auรŸerdem der Controller โ€žAngularControllerโ€œ zum Verarbeiten jeglicher Geschรคftslogik verwendet wird.
  4. Erstellen Sie eine Route fรผr den Node-Link โ€“ Dieser Block bedeutet, dass beim Klicken auf den Node-Link die Datei Node.html eingefรผgt wird und auรŸerdem der Controller โ€žNodeControllerโ€œ zum Verarbeiten jeglicher Geschรคftslogik verwendet wird.

Schritt 5) Als Nรคchstes mรผssen Controller hinzugefรผgt werden, um die Geschรคftslogik sowohl fรผr den AngularController als auch fรผr den NodeController zu verarbeiten.

In jedem Controller erstellen wir ein Array von Schlรผssel-Wert-Paaren, um die Themennamen und Beschreibungen fรผr jeden Kurs zu speichern. Die Array-Variable โ€žtutorialโ€œ wird fรผr jeden Controller zum Scope-Objekt hinzugefรผgt.

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>

Schritt 6) Erstellen Sie Seiten mit den Namen Angular.html und Node.html. Fรผr jede Seite fรผhren wir die folgenden Schritte aus.

Diese Schritte stellen sicher, dass alle Schlรผssel-Wert-Paare des Arrays auf jeder Seite angezeigt werden.

  1. Verwenden Sie die ng-repeat-Direktive, um jedes in der Tutorial-Variable definierte Schlรผssel-Wert-Paar durchzugehen.
  2. Zeigt den Namen und die Beschreibung jedes Schlรผssel-Wert-Paares an.
  • 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>

Wenn der Code erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausfรผhren.

Ausgang:

AngularJS-Routing

Wenn Sie auf den Link โ€žAngularJS-Themenโ€œ klicken, wird die folgende Ausgabe angezeigt.

AngularJS-Routing

Die Ausgabe zeigt deutlich, dass

  • Wenn auf den Link โ€žAngular JS Topicsโ€œ geklickt wird, entscheidet der routeProvider, den wir in unserem Code deklariert haben, dass der Angular.html-Code eingefรผgt werden soll.
  • Dieser Code wird in das โ€ždivโ€œ-Tag eingefรผgt, das die ng-view-Direktive enthรคlt. AuรŸerdem stammt der Inhalt der Kursbeschreibung aus der โ€žTutorial-Variableโ€œ, die Teil des im AngularController definierten Scope-Objekts war.
  • Wenn man auf klickt Node.js Themen wird das gleiche Ergebnis erzielt und die Ansicht fรผr Node.js-Themen wird angezeigt.
  • Beachten Sie auรŸerdem, dass die Seite URL Der Pfad bleibt gleich, nur die Route nach dem #-Tag รคndert sich. Und genau das ist das Konzept von Single-Page-Anwendungen. Der #-Hash-Tag im URL ist ein Trennzeichen, das die Route (in unserem Fall 'Angular', wie im obigen Bild gezeigt) und die Haupt-HTML-Seite (Sample.html) trennt.

AngularJS-Routing

Erstellen einer Standardroute in AngularJS

Routing in AngularJS bietet auch die Mรถglichkeit, eine Standardroute zu haben. Dies ist die Route, die ausgewรคhlt wird, wenn es keine รœbereinstimmung mit der vorhandenen Route gibt.

Die Standardroute wird erstellt, indem beim Definieren des Dienstes $routeProvider die folgende Bedingung hinzugefรผgt wird.

Die folgende Syntax bedeutet lediglich, dass auf eine andere Seite umgeleitet wird, wenn eine der vorhandenen Routen nicht รผbereinstimmt.

otherwise ({
    redirectTo: 'page'
});

Verwenden wir das gleiche Beispiel oben und fรผgen wir eine Standardroute zu unserem $routeProvider-Dienst hinzu.

Erstellen einer Standardroute in AngularJS

function($routeProvider){
$routeProvider.

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

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

Code Erlรคuterung:

  1. Hier verwenden wir denselben Code wie oben. Der einzige Unterschied besteht darin, dass wir die Anweisung โ€žotherwiseโ€œ und die Option โ€žredirectToโ€œ verwenden, um anzugeben, welche Ansicht geladen werden soll, wenn keine Route angegeben ist. In unserem Fall mรถchten wir, dass die Ansicht โ€ž/Angularโ€œ angezeigt wird.

Wenn der Code erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausfรผhren.

Ausgang:

Erstellen einer Standardroute in AngularJS

Aus der Ausgabe,

  • Sie kรถnnen deutlich erkennen, dass die angezeigte Standardansicht die eckige JS-Ansicht ist.
  • Dies liegt daran, dass beim Laden der Seite die Option โ€žAndernfallsโ€œ in der Funktion $routeProvider aufgerufen wird und die Ansicht โ€ž/Angularโ€œ geladen wird.

So greifen Sie รผber die AngularJS-Route auf Parameter zu

Angular bietet auรŸerdem die Mรถglichkeit, Parameter wรคhrend des Routings anzugeben. Die Parameter werden am Ende der Route hinzugefรผgt. URL, beispielsweise, http://guru99/index.html#/Angular/1. In diesem Angular-Routing-Beispiel:

  1. , http://guru99/index.html ist unsere Hauptanwendung URL
  2. Das #-Symbol dient als Trennzeichen zwischen der Hauptanwendung URL und die Route.
  3. Angular ist unsere Route
  4. Und schlieรŸlich ist โ€ž1โ€œ der Parameter, der unserer Route hinzugefรผgt wird

Die Syntax, wie Parameter in der URL wird unten gezeigt:

HTMLPage#/route/parameter

Hier werden Sie feststellen, dass der Parameter nach der Route รผbergeben wird. URL.

In unserem Beispiel fรผr AngularJS-Routen oben fรผr die Angular JS-Themen kรถnnen wir also einen Parameter รผbergeben, wie unten gezeigt

Sample.html#/Angular/1

Sample.html#/Angular/2

Sample.html#/Angular/3

Hier kรถnnen die Parameter 1, 2 und 3 tatsรคchlich das Topicid darstellen.

Schauen wir uns im Detail an, wie wir eine Angular-Route mit Parametern implementieren kรถnnen:

Schritt 1) โ€‹โ€‹Fรผgen Sie Ihrer Ansicht den folgenden Code hinzu

  1. Fรผgen Sie eine Tabelle hinzu, um dem Benutzer alle Themen fรผr den Angular JS-Kurs anzuzeigen
  2. Fรผgen Sie eine Tabellenzeile fรผr das Thema โ€žControllerโ€œ hinzu. ร„ndern Sie fรผr diese Zeile das href-Tag in โ€žAngular/1โ€œ. Dies bedeutet, dass beim Klicken auf dieses Thema der Parameter 1 รผbergeben wird. URL entlang der Route.
  3. Fรผgen Sie eine Tabellenzeile zum Thema โ€žModelleโ€œ hinzu. ร„ndern Sie fรผr diese Zeile das href-Tag in โ€žAngular/2โ€œ. Dies bedeutet, dass beim Klicken auf dieses Thema der Parameter 2 รผbergeben wird. URL entlang der Route.
  4. Fรผgen Sie eine Tabellenzeile zum Thema โ€žDirektivenโ€œ hinzu. ร„ndern Sie fรผr diese Zeile das href-Tag in โ€žAngular/3โ€œ. Dies bedeutet, dass beim Klicken auf dieses Thema der Parameter 3 รผbergeben wird. URL entlang der Route.

Zugriffsparameter รผber die AngularJS-Route

Schritt 2) Fรผgen Sie der Routeprovider-Dienstfunktion eine Themen-ID hinzu
Fรผgen Sie in der Routeprovider-Servicefunktion das :topicId hinzu, um anzugeben, dass jeder รผbergebene Parameter URL AnschlieรŸend sollte die Route der Variablen topicId zugewiesen werden.

Zugriffsparameter รผber die AngularJS-Route

Schritt 3) Fรผgen Sie dem Controller den erforderlichen Code hinzu

  1. Stellen Sie sicher, dass Sie beim Definieren der Controller-Funktion zuerst โ€ž$routeParamsโ€œ als Parameter hinzufรผgen. Dieser Parameter hat Zugriff auf alle รผbergebenen Routenparameter. URL.
  2. Der Parameter โ€žrouteParamsโ€œ hat einen Verweis auf das topicId-Objekt, das als Routenparameter รผbergeben wird. Hier hรคngen wir die Variable โ€ž$routeParams.topicIdโ€œ als Variable โ€ž$scope.tutotialidโ€œ an unser Scope-Objekt an. Dies geschieht, damit aus unserer Sicht รผber die Variable โ€žtutorialidโ€œ darauf verwiesen werden kann.

Zugriffsparameter รผber die AngularJS-Route

<!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>

Schritt 4) Fรผgen Sie den Ausdruck zur Anzeigevariable hinzu
Fรผgen Sie den Ausdruck hinzu, um die Variable โ€žtutorialidโ€œ auf der Seite โ€žAngular.htmlโ€œ anzuzeigen.

Zugriffsparameter รผber die AngularJS-Route

<h2>Anguler</h2>

<br><br>{{tutorialid}}

Wenn der Code erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausfรผhren.

Ausgang:

Zugriffsparameter รผber die AngularJS-Route

Im Ausgabebildschirm

  • Wenn Sie auf den Link โ€žThemendetailsโ€œ fรผr das erste Thema klicken, wird die Zahl 1 angehรคngt. URL.
  • Diese Nummer wird dann vom Angular.JS-Routeprovider-Dienst als โ€žrouteparamโ€œ-Argument verwendet und kann dann von unserem Controller abgerufen werden.

So verwenden Sie den Angular $route-Dienst

Mit dem Dienst $route kรถnnen Sie auf die Eigenschaften der Route zugreifen. Der $route-Dienst ist als Parameter verfรผgbar, wenn die Funktion im Controller definiert ist. Die allgemeine Syntax, wie der Parameter $route vom Controller aus verfรผgbar ist, ist unten dargestellt;

myApp.controller('MyController',function($scope,$route)
  1. myApp ist das fรผr Ihre Anwendungen definierte Angular.JS-Modul
  2. MyController ist der Name des Controllers, der fรผr Ihre Anwendung definiert ist
  3. Genauso wie die Variable $scope fรผr Ihre Anwendung zur Verfรผgung gestellt wird, die zur รœbergabe von Informationen vom Controller an die Ansicht verwendet wird. Der Parameter $route wird verwendet, um auf die Eigenschaften der Route zuzugreifen.

Schauen wir uns an, wie wir den $route-Dienst nutzen kรถnnen.

In diesem Beispiel

  • Wir werden eine einfache benutzerdefinierte Variable namens โ€žmytextโ€œ erstellen, die die Zeichenfolge โ€žThis is Angularโ€œ enthรคlt.
  • Wir werden diese Variable an unsere Route anhรคngen. Und spรคter werden wir von unserem Controller aus mithilfe des Dienstes $route auf diesen String zugreifen und ihn anschlieรŸend mithilfe des Scope-Objekts in unserer Ansicht anzeigen.

Sehen wir uns also die Schritte an, die wir ausfรผhren mรผssen, um dies zu erreichen.

Schritt 1) Fรผgen Sie der Route ein benutzerdefiniertes Schlรผssel-Wert-Paar hinzu. Hier fรผgen wir einen Schlรผssel namens โ€žmytextโ€œ hinzu und weisen ihm den Wert โ€žThis is Angularโ€œ zu.

Angular $route-Dienst

Schritt 2) Fรผgen Sie den entsprechenden Code zum Controller hinzu

  1. Fรผgen Sie der Controller-Funktion den Parameter $route hinzu. Der Parameter $route ist ein in Angular definierter Schlรผsselparameter, der den Zugriff auf die Eigenschaften der Route ermรถglicht.
  2. Auf die Variable โ€žmytextโ€œ, die in der Route definiert wurde, kann รผber die Referenz $route.current zugegriffen werden. Dieser wird dann der Variablen โ€žtextโ€œ des Scope-Objekts zugewiesen. Auf die Textvariable kann dann entsprechend aus der Ansicht zugegriffen werden.

Angular $route-Dienst

<!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>

Schritt 3) Fรผgen Sie einen Verweis auf die Textvariable aus dem Bereichsobjekt als Ausdruck hinzu. Dies wird wie unten gezeigt zu unserer Angular.html-Seite hinzugefรผgt.

Dadurch wird der Text โ€žThis is angleโ€œ in die Ansicht eingefรผgt. Der {{tutorialid}}-Ausdruck ist derselbe wie im vorherigen Thema und zeigt die Zahl โ€ž1โ€œ an.

Angular $route-Dienst

<h2>Anguler</h2>

<br><br>{{text}}

<br><br>

Wenn der Code erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausfรผhren.

Ausgang:

Angular $route-Dienst

Aus der Ausgabe,

  • Wir kรถnnen sehen, dass der Text โ€žDies ist Angularโ€œ auch angezeigt wird, wenn wir auf einen der Links in der Tabelle klicken. Die Themen-ID wird gleichzeitig mit dem Text angezeigt.

Aktivieren des HTML5-Routings

HTML5-Routing wird im Grunde verwendet, um saubere URLDas bedeutet die Entfernung des Hashtags aus dem URLDie Weiterleitung erfolgt also URLWenn HTML5-Routing verwendet wird, wรผrde dies wie unten dargestellt aussehen

Sample.html/Angular/1

Sample.html/Angular/2

Sample.html/Angular/3

Dieses Konzept ist normalerweise als Prรคsentation hรผbscher URL fรผr den Benutzer.

Es gibt zwei Hauptschritte, die fรผr das HTML2-Routing ausgefรผhrt werden mรผssen.

  1. Konfigurieren von $locationProvider
  2. Wir legen unsere Basis fรผr relative Links fest

Schauen wir uns im Detail an, wie die oben genannten Schritte in unserem obigen Beispiel ausgefรผhrt werden

Schritt 1) Fรผgen Sie den entsprechenden Code zum Winkelmodul hinzu

  1. Fรผge eine Basis hinzuURL Konstante fรผr die Anwendung โ€“ Dies ist fรผr das HTML5-Routing erforderlich, damit die Anwendung weiรŸ, wo sich der Basisspeicherort der Anwendung befindet.
  2. Fรผgen Sie die $locationProvider-Dienste hinzu. Mit diesem Dienst kรถnnen Sie den HTML5-Modus definieren.
  3. Setzen Sie den html5Mode des $locationProvider-Dienstes auf true.

Aktivieren des HTML5-Routings

Schritt 2) Entfernen Sie alle #Tags fรผr die Links ('Angular/1', 'Angular/2', 'Angular/3'), um eine รผbersichtliche Darstellung zu gewรคhrleisten. URL.

Aktivieren des HTML5-Routings

<!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>

Wenn der Code erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt, wenn Sie Ihren Code im Browser ausfรผhren.

Ausgang:

Aktivieren des HTML5-Routings

Aus der Ausgabe,

  • Sie kรถnnen sehen, dass das #-Tag nicht vorhanden ist, wenn Sie auf die Anwendung zugreifen.

Zusammenfassung

  • Routing wird verwendet, um dem Benutzer unterschiedliche Ansichten auf derselben Webseite zu prรคsentieren. Dies ist im Grunde das Konzept, das in Single-Page-Anwendungen verwendet wird, die fรผr fast alle modernen Webanwendungen implementiert werden
  • Fรผr das Angular.JS-Routing kann eine Standardroute eingerichtet werden. Es wird verwendet, um zu bestimmen, welche Standardansicht dem Benutzer angezeigt wird
  • Parameter kรถnnen รผber die Route รผbergeben werden. URL als Routenparameter. Auf diese Parameter kann anschlieรŸend รผber den Parameter `$routeParams` im Controller zugegriffen werden.
  • Der $route-Dienst kann verwendet werden, um benutzerdefinierte Schlรผssel-Wert-Paare in der Route zu definieren, auf die dann innerhalb der Ansicht zugegriffen werden kann
  • HTML5-Routing wird verwendet, um das #-Tag aus dem Routing zu entfernen. URL in eckiger Form hรผbsch URL

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: