AngularJS-reititysesimerkki parametreilla

Ennen kuin opimme kuinka reititys toimii Angularissa, katsotaanpa vain yksisivuisista sovelluksista lyhyt yleiskatsaus.

Mitรค yksisivuiset sovellukset ovat?

Yksisivuiset sovellukset tai (SPA:t) ovat verkkosovelluksia, jotka lataavat yhden HTML-sivun ja pรคivittรคvรคt sivun dynaamisesti kรคyttรคjรคn vuorovaikutuksen perusteella verkkosovelluksen kanssa.

Mitรค on reititys AngularJS:ssรค?

Reititys AngularJS:ssรค on menetelmรค, jonka avulla voit luoda yksisivuisia sovelluksia. Sen avulla voit luoda erilaisia URLs eri sisรคllรถlle verkkosovelluksissasi. AngularJS-reititys auttaa myรถs nรคyttรคmรครคn useita sisรคltรถjรค valitusta reitistรค riippuen. Se on mรครคritetty URL #-merkin jรคlkeen.

Otetaan esimerkki sivustosta, jota isรคnnรถidรครคn URL http://example.com/index.html.

Tรคllรค sivulla isรคnnรถisit hakemuksesi pรครคsivua. Oletetaan, jos sovellus oli jรคrjestรคmรคssรค tapahtumaa ja halutaan nรคhdรค, mitรค eri nรคytรถllรค olevat tapahtumat ovat, tai haluttaisiin nรคhdรค tietyn tapahtuman tiedot tai poistaa tapahtuma. Yhden sivun sovelluksessa, kun reititys on kรคytรถssรค, kaikki nรคmรค toiminnot olisivat kรคytettรคvissรค seuraavien linkkien kautta

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

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

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

#-symbolia kรคytettรคisiin eri reittien yhteydessรค (ShowEvent, DisplayEvent ja DeleteEvent).

  • Joten jos kรคyttรคjรค haluaa nรคhdรค kaikki tapahtumat, hรคnet ohjataan linkkiin (http://example.com/index.html#ShowEvent), muuten
  • Jos he halusivat vain nรคhdรค tietyn tapahtuman, heidรคt ohjataan uudelleen linkkiin ( http://example.com/index.html#DisplayEvent) Tai
  • Jos he halusivat poistaa tapahtuman, heidรคt ohjataan linkkiin http://example.com/index.html#DeleteEvent.

Huomaa, ettรค pรครคasiallinen URL pysyy samana.

AngularJS-reitin lisรครคminen kรคyttรคmรคllรค $routeProvider-ohjelmaa

Joten kuten aiemmin keskustelimme, reitit sisรครคn angularjs kรคytetรครคn reitittรคmรครคn kรคyttรคjรค sovelluksesi eri nรคkymรครคn. Ja tรคmรค reititys tehdรครคn samalla HTML-sivulla, jotta kรคyttรคjรค kokee, ettei hรคn ole poistunut sivulta.

Reitityksen toteuttamiseksi seuraavat pรครคvaiheet on toteutettava sovelluksessasi missรค tahansa tietyssรค jรคrjestyksessรค.

  1. Viittaus angular-route.js-tiedostoon. Tรคmรค on JavaKรคsikirjoitus tiedosto, jonka on kehittรคnyt Google jolla on kaikki reitityksen toiminnallisuudet. Tรคmรค on sijoitettava sovellukseesi, jotta se voi viitata kaikkiin reitityksessรค tarvittaviin pรครคmoduuleihin.
  2. Seuraava tรคrkeรค vaihe on lisรคtรค riippuvuus ngRoute-moduuliin sovelluksestasi. Tรคmรค riippuvuus tarvitaan, jotta reititystoimintoa voidaan kรคyttรครค sovelluksessa. Jos tรคtรค riippuvuutta ei lisรคtรค, reititystรค ei voida kรคyttรครค angular.JS-sovelluksen sisรคllรค.

Alla on tรคmรคn lausunnon yleinen syntaksi. Tรคmรค on vain tavallinen moduulin ilmoitus, joka sisรคltรครค avainsanan ngRoute.

var module = angular.module("sampleApp", ['ngRoute']);
  1. Seuraava vaihe on $routeProviderin mรครคrittรคminen. Tรคmรค tarvitaan eri reittien tarjoamiseen sovelluksessasi. Alla on tรคmรคn lausunnon yleinen syntaksi, joka on hyvin itsestรครคn selvรค. Siinรค vain todetaan, ettรค kun asianmukainen polku on valittu, kรคytรค reittiรค tietyn nรคkymรคn nรคyttรคmiseen kรคyttรคjรคlle.
when(path, route)
  1. Linkit reitille HTML-sivultasi. Lisรครคt HTML-sivullesi viitelinkkejรค sovelluksessasi oleville eri reiteille.
<a href="#/route1">Route 1</a><br/>
  1. Lopuksi olisi sisรคllytettรคvรค ng-view direktiivi, joka olisi normaalisti div-tunnisteessa. Tรคtรค kรคytettรคisiin nรคkymรคn sisรคllรถn lisรครคmiseen, kun relevantti reitti valitaan.

Esimerkki AngularJS-reitityksestรค

Katsotaanpa nyt esimerkkiรค reitityksestรค kรคyttรคmรคllรค yllรค mainittuja vaiheita.

AngularJS-reititysesimerkissรคmme parametreilla

Esitรคmme kรคyttรคjรคlle 2 linkkiรค,

  • Yksi on aiheiden nรคyttรคminen Kulmainen JS tietenkin, ja toinen on varten Node.js kurssi.
  • Kun kรคyttรคjรค napsauttaa jompaakumpaa linkkiรค, kyseisen kurssin aiheet tulevat nรคkyviin.

Vaihe 1) Sisรคllytรค kulmareittitiedosto komentosarjaviittaukseksi.

AngularJS-reititys

Tรคmรค reittitiedosto on vรคlttรคmรคtรถn, jotta voit hyรถdyntรครค useiden reittien ja nรคkymien toimintoja. Tรคmรค tiedosto voidaan ladata angular.JS-verkkosivustolta.

Vaihe 2) Lisรครค href-tunnisteita, jotka edustavat linkkejรค "Angular JS-aiheisiin" ja "Node JS-aiheisiin".

AngularJS-reititys

Vaihe 3) Lisรครค div-tunniste ng-view-direktiivin kanssa, joka edustaa nรคkymรครค.

Tรคmรค mahdollistaa vastaavan nรคkymรคn lisรครคmisen aina, kun kรคyttรคjรค napsauttaa joko "Angular JS-aiheita" tai "Solmu JS-aiheita".

AngularJS-reititys

Vaihe 4) Lisรครค AngularJS:n komentosarjatunnisteeseen "ngRoute module" ja "$routeProvider" -palvelu.

AngularJS-reititys

Code Selitys:

  1. Ensimmรคinen vaihe on varmistaa, ettรค โ€ngRoute-moduuliโ€ on sisรคllytetty. Kun tรคmรค on kรคytรถssรค, Angular kรคsittelee reitityksen automaattisesti sovelluksessasi. ngRoute-moduuli, jonka on kehittรคnyt Google sisรคltรครค kaikki reitityksen mahdollistavat toiminnot. Tรคmรคn moduulin lisรครคmisen myรถtรค sovellus ymmรคrtรครค automaattisesti kaikki reitityskomennot.
  2. $routeprovider on palvelu, jonka avulla Angular kuuntelee taustalla kutsuttuja reittejรค. Joten kun kรคyttรคjรค napsauttaa linkkiรค, AngularJS:n reitintarjoaja havaitsee tรคmรคn ja pรครคttรครค sitten, minkรค reitin hรคn valitsee.
  3. Luo yksi reitti Angular-linkille โ€“ Tรคmรค lohko tarkoittaa, ettรค kun Angular-linkkiรค napsautetaan, syรถtรค tiedosto Angular.html ja kรคytรค myรถs AngularController-ohjainta minkรค tahansa liiketoimintalogiikan kรคsittelemiseen.
  4. Luo yksi reitti solmulinkille โ€“ Tรคmรค lohko tarkoittaa, ettรค kun Solmulinkkiรค napsautetaan, syรถtรค tiedosto Node.html ja kรคytรค myรถs Controller "NodeController" -ohjelmaa minkรค tahansa liiketoimintalogiikan kรคsittelemiseen.

Vaihe 5) Seuraavaksi on lisรคttรคvรค ohjaimia kรคsittelemรครคn liiketoimintalogiikka sekรค AngularControllerille ettรค NodeControllerille.

Jokaisessa ohjaimessa luomme joukon avainarvopareja tallentaaksemme kunkin kurssin aiheiden nimet ja kuvaukset. Taulukkomuuttuja 'tutorial' lisรคtรครคn kunkin ohjaimen laajuusobjektiin.

AngularJS-reititys

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

Vaihe 6) Luo sivut nimeltรค Angular.html ja Node.html. Suoritamme jokaiselle sivulle alla olevat vaiheet.

Nรคmรค vaiheet varmistavat, ettรค kaikki taulukon avain-arvo-parit nรคkyvรคt jokaisella sivulla.

  1. Kรคytรค ng-repeat-direktiiviรค jokaisen opetusmuuttujassa mรครคritellyn avainarvoparin lรคpikรคymiseen.
  2. Nรคyttรครค kunkin avain-arvo-parin nimen ja kuvauksen.
  • Kulma.html

AngularJS-reititys

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

AngularJS-reititys

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

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

AngularJS-reititys

Jos napsautat AngularJS-aiheet -linkkiรค, alla oleva tulos tulee nรคkyviin.

AngularJS-reititys

Tulos osoittaa selvรคsti, ettรค

  • Kun "Angular JS Topics" -linkkiรค napsautetaan, koodissamme ilmoittamamme routeProvider pรครคttรครค, ettรค Angular.html-koodi tulee lisรคtรค.
  • Tรคmรค koodi ruiskutetaan "div"-tunnisteeseen, joka sisรคltรครค ng-view-direktiivin. Kurssin kuvauksen sisรคltรถ tulee myรถs "harjoitusmuuttujasta", joka oli osa AngularControllerissa mรครคriteltyรค soveltamisalaobjektia.
  • Kun napsauttaa Node.js Aiheet, sama tulos tapahtuu, ja Node.js-aiheiden nรคkymรค nรคytetรครคn.
  • Huomaa myรถs, ettรค sivu URL pysyy samana, vain #-tagin jรคlkeinen reitti muuttuu. Ja tรคmรค on yksisivuisten sovellusten kรคsite. #hash-tagi URL on erotinmerkki, joka erottaa reitin (joka tรคssรค tapauksessa on 'Angular', kuten yllรค olevassa kuvassa nรคkyy) ja HTML-pรครคsivun (Sample.html)

AngularJS-reititys

Oletusreitin luominen AngularJS:ssรค

AngularJS:n reititys tarjoaa myรถs mahdollisuuden oletusreitille. Tรคmรค on reitti, joka valitaan, jos olemassa olevaa reittiรค ei lรถydy.

Oletusreitti luodaan lisรครคmรคllรค seuraava ehto mรครคriteltรคessรค $routeProvider-palvelua.

Alla oleva syntaksi tarkoittaa yksinkertaisesti uudelleenohjausta toiselle sivulle, jos jokin olemassa olevista reiteistรค ei tรคsmรครค.

otherwise ({
    redirectTo: 'page'
});

Kรคytetรครคn samaa yllรค olevaa esimerkkiรค ja lisรคtรครคn oletusreitti $routeProvider-palveluumme.

Oletusreitin luominen AngularJS:ssรค

function($routeProvider){
$routeProvider.

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

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

Code Selitys:

  1. Tรคssรค kรคytรคmme samaa koodia kuin yllรค, mutta ainoa ero on, ettรค kรคytรคmme muuten lauseketta ja "redirectTo" -vaihtoehtoa mรครคrittรครคksemme, mikรค nรคkymรค ladataan, jos reittiรค ei ole mรครคritetty. Meidรคn tapauksessamme haluamme '/Angular'-nรคkymรคn nรคkyvรคn.

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

Oletusreitin luominen AngularJS:ssรค

Ulostulosta,

  • Nรคet selvรคsti, ettรค nรคytettรคvรค oletusnรคkymรค on kulmikas JS-nรคkymรค.
  • Tรคmรค johtuu siitรค, ettรค kun sivu latautuu, se siirtyy $routeProvider-funktion "muutoin" -vaihtoehtoon ja lataa "/Angular"-nรคkymรคn.

Kuinka kรคyttรครค parametreja AngularJS-reitiltรค

Angular tarjoaa myรถs toiminnallisuuden parametrien antamiseen reitityksen aikana. Parametrit lisรคtรครคn reitin loppuun URLEsimerkiksi http://guru99/index.html#/Angular/1. Tรคssรค kulmareititysesimerkissรค

  1. , http://guru99/index.html on tรคrkein sovelluksemme URL
  2. #-symboli on erotinmerkki pรครคsovelluksen ja URL ja reitti.
  3. Kulma on reittimme
  4. Ja lopuksi '1' on parametri, joka lisรคtรครคn reittiimme

Parametrien ulkoasun syntaksi URL nรคkyy alla:

HTMLSivu#/reitti/parametri

Tรคssรค huomaat, ettรค parametri annetaan reitin jรคlkeen URL.

Joten yllรค olevassa AngularJS-reittiesimerkissรคmme Angular JS -aiheille voimme vรคlittรครค parametrit alla esitetyllรค tavalla

Sample.html#/Angular/1

Sample.html#/Angular/2

Sample.html#/Angular/3

Tรคssรค parametrit 1, 2 ja 3 voivat itse asiassa edustaa aihetunnusta.

Katsotaanpa yksityiskohtaisesti, kuinka voimme toteuttaa kulmareitin parametrilla:

Vaihe 1) Lisรครค seuraava koodi nรคkymรครคn

  1. Lisรครค taulukko nรคyttรครคksesi kรคyttรคjรคlle kaikki Angular JS -kurssin aiheet
  2. Lisรครค taulukkoon rivi, joka nรคyttรครค aiheen โ€Ohjaimetโ€. Vaihda tรคlle riville href-tagi arvoon โ€Angular/1โ€, mikรค tarkoittaa, ettรค kun kรคyttรคjรค napsauttaa tรคtรค aihetta, parametri 1 vรคlitetรครคn funktiossa. URL reitin mukana.
  3. Lisรครค taulukkoon rivi, joka nรคyttรครค aiheen โ€Mallitโ€. Vaihda tรคlle riville href-tagi arvoon โ€Angular/2โ€, mikรค tarkoittaa, ettรค kun kรคyttรคjรค napsauttaa tรคtรค aihetta, parametri 2 vรคlitetรครคn URL reitin mukana.
  4. Lisรครค taulukkoon rivi, joka nรคyttรครค aiheen โ€Direktiivitโ€. Vaihda tรคlle riville href-tagi arvoon โ€Angular/3โ€, mikรค tarkoittaa, ettรค kun kรคyttรคjรค napsauttaa tรคtรค aihetta, parametri 3 vรคlitetรครคn URL reitin mukana.

Kรคytรค parametreja AngularJS-reitiltรค

Vaihe 2) Lisรครค aiheen tunnus Routeprovider-palvelutoimintoon
Lisรครค routeprovider-palvelufunktioon :topicId osoittamaan, ettรค mikรค tahansa funktiossa vรคlitetty parametri URL reitin jรคlkeen tulee asettaa muuttujaan topicId.

Kรคytรค parametreja AngularJS-reitiltรค

Vaihe 3) Lisรครค tarvittava koodi ohjaimeen

  1. Muista ensin lisรคtรค โ€œ$routeParamsโ€ parametrina, kun mรครคritรคt ohjainfunktiota. Tรคllรค parametrilla on pรครคsy kaikkiin reittiparametreihin, jotka vรคlitetรครคn URL.
  2. Parametri "routeParams" sisรคltรครค viittauksen topicId-objektiin, joka vรคlitetรครคn reittiparametrina. Tรคssรค liitรคmme '$routeParams.topicId' -muuttujan laajuusobjektiimme muuttujaksi '$scope.tutotialid'. Tรคmรค tehdรครคn niin, ettรค siihen voidaan viitata mielestรคmme tutorialid-muuttujan kautta.

Kรคytรค parametreja AngularJS-reitiltรค

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

Vaihe 4) Lisรครค lauseke nรคytettรคvรครคn muuttujaan
Lisรครค lauseke nรคyttรครคksesi tutorialid-muuttujan Angular.html-sivulla.

Kรคytรค parametreja AngularJS-reitiltรค

<h2>Anguler</h2>

<br><br>{{tutorialid}}

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

Kรคytรค parametreja AngularJS-reitiltรค

Tulostusnรคytรถssรค

  • Jos napsautat ensimmรคisen aiheen Aiheen tiedot -linkkiรค, numero 1 lisรคtรครคn siihen. URL.
  • Angular.JS-reitintarjoajapalvelu kรคyttรครค tรคtรค numeroa "routeparam"-argumenttina, ja ohjaimemme voi sitten kรคyttรครค sitรค.

Angular $route -palvelun kรคyttรคminen

$route-palvelun avulla voit kรคyttรครค reitin ominaisuuksia. $route-palvelu on kรคytettรคvissรค parametrina, kun toiminto on mรครคritelty sรครคtimessรค. Yleinen syntaksi siitรค, kuinka $route-parametri on saatavilla ohjaimesta, on esitetty alla;

myApp.controller('MyController',function($scope,$route)
  1. myApp on angular.JS-moduuli, joka on mรครคritetty sovelluksillesi
  2. MyController on sovelluksellesi mรครคritetyn ohjaimen nimi
  3. Aivan kuten $scope-muuttuja on saatavilla sovelluksellesi, jota kรคytetรครคn tietojen vรคlittรคmiseen ohjaimesta nรคkymรครคn. $route-parametrilla pรครคstรครคn reitin ominaisuuksiin.

Katsotaanpa, kuinka voimme kรคyttรครค $route-palvelua.

Tรคssรค esimerkissรค

  • Aiomme luoda yksinkertaisen mukautetun muuttujan nimeltรค "mytext", joka sisรคltรครค merkkijonon "Tรคmรค on kulmikas".
  • Aiomme liittรครค tรคmรคn muuttujan reittiimme. Ja myรถhemmin aiomme kรคyttรครค tรคtรค merkkijonoa ohjaimeltamme kรคyttรคmรคllรค $route-palvelua ja sitten kรคytรคmme sen jรคlkeen laajennusobjektia nรคyttรครคksemme sen nรคkymรคssรคmme.

Katsotaanpa sitten vaiheet, jotka meidรคn on suoritettava saavuttaaksemme tรคmรคn.

Vaihe 1) Lisรครค mukautettu avain-arvo-pari reitille. Tรคssรค lisรครคmme avaimen nimeltรค "mytext" ja annamme sille arvon "Tรคmรค on kulmikas".

Kulmareittipalvelu

Vaihe 2) Lisรครค vastaava koodi ohjaimeen

  1. Lisรครค $route-parametri ohjaintoimintoon. $route-parametri on avainparametri, joka on mรครคritelty kulmassa, jonka avulla voidaan kรคyttรครค reitin ominaisuuksia.
  2. Reitillรค mรครคritettyรค "mytext"-muuttujaa pรครคsee kรคsiksi $route.current-viittauksen kautta. Tรคmรค mรครคritetรครคn sitten laajuusobjektin "teksti"-muuttujalle. Tekstimuuttujaa voidaan sitten kรคyttรครค nรคkymรคstรค vastaavasti.

Kulmareittipalvelu

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

Vaihe 3) Lisรครค viittaus laajuusobjektin tekstimuuttujaan lausekkeena. Tรคmรค lisรคtรครคn Angular.html-sivullemme alla olevan kuvan mukaisesti.

Tรคmรค aiheuttaa tekstin "Tรคmรค on kulmikas" ruiskuttamisen nรคkymรครคn. Lauseke {{tutorialid}} on sama kuin edellisessรค aiheessa ja tรคmรค nรคyttรครค numeron '1'.

Kulmareittipalvelu

<h2>Anguler</h2>

<br><br>{{text}}

<br><br>

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

Kulmareittipalvelu

Ulostulosta,

  • Nรคemme, ettรค teksti "Tรคmรค on kulmikas" tulee nรคkyviin myรถs, kun napsautamme mitรค tahansa taulukon linkkiรค. Aihetunnus nรคkyy myรถs samaan aikaan tekstin kanssa.

Otetaan kรคyttรถรถn HTML5-reititys

HTML5-reititystรค kรคytetรครคn pohjimmiltaan puhtaan sisรคllรถn luomiseen. URLSe tarkoittaa hashtagin poistamista URLJoten reititys URLs, kun kรคytetรครคn HTML5-reititystรค, nรคyttรคisi alla olevalta

Sample.html/Angular/1

Sample.html/Angular/2

Sample.html/Angular/3

Tรคmรค konsepti tunnetaan yleensรค kauniina esittelynรค URL kรคyttรคjรคlle.

HTML2-reitityksessรค on suoritettava kaksi pรครคvaihetta.

  1. Mรครคritetรครคn $locationProvider
  2. Perustamme suhteellisille linkeille

Katsotaanpa yksityiskohtaisesti, kuinka yllรค mainitut vaiheet suoritetaan yllรค olevassa esimerkissรคmme

Vaihe 1) Lisรครค vastaava koodi kulmamoduuliin

  1. Lisรครค pohjaURL vakio sovellukselle โ€“ Tรคmรค on pakollinen HTML5-reititykselle, jotta sovellus tietรครค sovelluksen perussijainnin.
  2. Lisรครค $locationProvider-palvelut. Tรคmรคn palvelun avulla voit mรครคrittรครค html5-tilan.
  3. Aseta $locationProvider-palvelun html5Mode-asetukseksi tosi.

Otetaan kรคyttรถรถn HTML5-reititys

Vaihe 2) Poista kaikki linkkien #tagit ('Angular/1', 'Angular/2', 'Angular/3') helppolukuisen sisรคllรถn luomiseksi. URL.

Otetaan kรคyttรถรถn HTML5-reititys

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

Jos koodi suoritetaan onnistuneesti, seuraava tulos nรคytetรครคn, kun suoritat koodin selaimessa.

lรคhtรถ:

Otetaan kรคyttรถรถn HTML5-reititys

Ulostulosta,

  • Voit nรคhdรค, ettรค #-tunniste ei ole siellรค, kun kรคytรคt sovellusta.

Yhteenveto

  • Reititystรค kรคytetรครคn esittรคmรครคn eri nรคkemyksiรค kรคyttรคjรคlle samalla verkkosivulla. Tรคmรค on pohjimmiltaan se konsepti, jota kรคytetรครคn yhden sivun sovelluksissa, jotka on toteutettu lรคhes kaikkiin nykypรคivรคn verkkosovelluksiin
  • Angular.JS-reititystรค varten voidaan mรครคrittรครค oletusreitti. Sitรค kรคytetรครคn mรครคrittรคmรครคn, mikรค on oletusnรคkymรค, joka nรคytetรครคn kรคyttรคjรคlle
  • Parametrit voidaan vรคlittรครค reitille seuraavan kautta: URL reittiparametreina. Nรคitรค parametreja kรคytetรครคn sitten ohjaimen $routeParams-parametrilla.
  • $route-palvelua voidaan kรคyttรครค mรครคrittรคmรครคn mukautettuja avainarvopareja reitille, joita voidaan sitten kรคyttรครค nรคkymรคstรค
  • HTML5-reititystรค kรคytetรครคn #-tagin poistamiseen reitityksestรค URL kulmikkaasti kauniiseen muotoon URL

Tiivistรค tรคmรค viesti seuraavasti: