Indholdsfortegnelse
Når vi har defineret, hvad router i vores app Backbone.js, vi er nødt til at få den til at lytte efter ændringer i URL'en, det er, når vores bruger f.eks. placerer en værdi med sin respektive hash, aplicacion.com/#ruta Med dette vil brugeren udover at muliggøre lytning også kunne bogmærke applikationen.Rygrad. Historie
Som vi forklarede, er dette det element, der får vores applikation til at starte lyt efter ændringer i url'en, der tager hash, det vigtige ved dette er, at det også hjælper os med at kunne lave en applikation, der kan have sektioner, der er gemt som markør eller bogmærke af brugeren og derved oprette sektioner, der er tilgængelige direkte uden at skulle gå igennem mange problemer.
Hvordan bruges?At bruge Rygrad. Historie vi skal gøre det, når vi definerer det objekt, der initialiserer vores router og for dette gør vi det igennem .start () metode.
Lad os se i følgende kode, hvordan denne handling ville være:
var myRouter = nyt eksempelRouter (); Backbone.history.start ();
I dette tilfælde har vi en Router hedder eksempelRouter som er tildelt variablen miRouter, som vi angav når denne handling er udført, er at vi bruger .start () metode som vi ser i sidste linje i eksemplet.
Hvis vi udfører følgende Router På vores webserver kan vi se, hvordan det, vi har forklaret, fungerer for os:
var exampleRouter = Backbone.Router.extend ({routes: {"test": "sampleTest", "search /: query / p: page": "searchConsult", "* other": "defaultRoute",}, sampleTest: function () {console.log ("Vi har adgang til routertesten");}, searchQuestion: function (forespørgsel, side) {var page_no = side || 1; console.log ("Sidenr .:" + page_no + " fra den søgning, der indeholder ordet: " + forespørgsel);}, defaultRoute: funktion (andet) {console.log ('Ressourcen:' + andet + 'Eksisterer ikke');}}); var myRouter = nyt eksempelRouter (); Backbone.history.start ();
Lad os se i følgende billede, hvordan det viser sig, når vi får adgang til søgestien og sender den de parametre, vi ønsker:
Denne. Navigere metode
Denne metode er den, der tillader os opdater applikations -URL'en fra en metode, dette hjælper os med at undgå at skulle genindlæse siden og dermed ikke miste formålet med en enkelt sideprogram, detaljen er, at denne metode ikke får den til at gå gennem routeren, så vi skal gøre det eksplicit, lad os se eksemplerne:
1- Uden at gå igennem router:
viewTask: function (id) {console.log ("Se den ønskede opgave."); this.navigate ("task /" + id + ' / edit'); // opdater URL'en, men den går ikke gennem routeren},
2- Med den korrektion, der får det til at gå igennem router:
viewTask: function (id) {console.log ("Se den ønskede opgave."); this.navigate ("task /" + id + ' / edit', {trigger: true}); // opdater URL'en, men den går ikke gennem routeren},
Med dette opnår vi allerede målet indefra applikationen ændre url og straks gå direkte gennem routeren.
I slutningen af denne vejledning så vi nytten af at kunne få adgang til vores applikation via venlige webadresser, da dette hjælper os med at gøre det mere læsbart for søgemaskiner og for brugere og dermed forbedre SEO.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt