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.
- 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.
- 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']);
- 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)
- 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/>
- 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.
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.
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.
Schritt 4) Fรผgen Sie in Ihrem Skript-Tag fรผr AngularJS das โngRoute-Modulโ und den โ$routeProviderโ-Dienst hinzu.
Code Erlรคuterung:
- 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.
- 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.
- 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.
- 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.
<!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.
- Verwenden Sie die ng-repeat-Direktive, um jedes in der Tutorial-Variable definierte Schlรผssel-Wert-Paar durchzugehen.
- Zeigt den Namen und die Beschreibung jedes Schlรผssel-Wert-Paares an.
- Angular.html
<h2>Anguler</h2>
<ul ng-repeat="ptutor in tutorial">
<li>Course : {{ptutor.Name}} - {{ptutor.Description}}</li>
</ul>
- Node.html
<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:
Wenn Sie auf den Link โAngularJS-Themenโ klicken, wird die folgende Ausgabe angezeigt.
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.
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.
function($routeProvider){
$routeProvider.
when('/Angular',{
templateUrl : 'Angular.html',
controller: 'AngularController'
}).
when("/Node", {
templateUrl: 'Node.html',
controller: 'NodeController'
}).
otherwise({
redirectTo:'/Angular'
});
}]);
Code Erlรคuterung:
- 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:
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:
- , http://guru99/index.html ist unsere Hauptanwendung URL
- Das #-Symbol dient als Trennzeichen zwischen der Hauptanwendung URL und die Route.
- Angular ist unsere Route
- 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
- Fรผgen Sie eine Tabelle hinzu, um dem Benutzer alle Themen fรผr den Angular JS-Kurs anzuzeigen
- 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.
- 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.
- 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.
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.
Schritt 3) Fรผgen Sie dem Controller den erforderlichen Code hinzu
- 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.
- 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.
<!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.
<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:
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)
- myApp ist das fรผr Ihre Anwendungen definierte Angular.JS-Modul
- MyController ist der Name des Controllers, der fรผr Ihre Anwendung definiert ist
- 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.
Schritt 2) Fรผgen Sie den entsprechenden Code zum Controller hinzu
- 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.
- 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.
<!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.
<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:
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.
- Konfigurieren von $locationProvider
- 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
- 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.
- Fรผgen Sie die $locationProvider-Dienste hinzu. Mit diesem Dienst kรถnnen Sie den HTML5-Modus definieren.
- Setzen Sie den html5Mode des $locationProvider-Dienstes auf true.
Schritt 2) Entfernen Sie alle #Tags fรผr die Links ('Angular/1', 'Angular/2', 'Angular/3'), um eine รผbersichtliche Darstellung zu gewรคhrleisten. URL.
<!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:
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
























