logi sisse meist KKK

Ehitan Single Page Applicationit, mis kasutab jQueryt.

Siiani olen töötanud Flatironi Director-ga, aga Angulari router oli nagu parem.

DIrectori suurimad mured on, et:
1. Route fireb teatud juhtudel mitu korda, teatud juhtudel mitte ühtegi.
2. Routeri konfigureerimine on müstika, mille üks kord kuidagi tööle sain aga enam korrata ei oska.

Mis routing library võiks sellisel puhul kõige parem olla?

küsitud Dec 11 '14 at 20:10

martinsookael's gravatar image

martinsookael
111

Kummagi ruuteriga kogemusi ei oma, kuid talupojatarkusest ütleks, et kui sa arvad, et Angulari ruuter on parem ja Directorit enam nagunii tööle panna ei oska, siis kõik nagu viitaks ühes suunas. Iseküsimus on, et kui suur töö on olemasolev ruuteri konf portida Angulari peale.

(Dec 19 '14 at 10:04) Laas

Angular on täiega äge ja ma kasutaks seda kogu aeg, lihtsalt antud projekti kliendid ei saa alati ise oma browserit valida ja kõik peab töötama isegi vanade IE-dega.

Vahepeal olen välja uurinud, et selline asi on olemas: http://benalman.com/projects/jquery-hashchange-plugin/ See kasutab uuematel browseritel window.onhashchange ja vanematel timerit url-i kontrolliks. Aga see nõuab kasutamiseks vanemat jQueryt kui 1.9 ning see ei pruugi kahe aasta pärast enam jätkusuutlik olla.

Järgmisena mõtlen uurida jQuery.History ja arg.js kombinatsiooni.

(Dec 19 '14 at 10:35) martinsookael

Kui juhtub, et ükski olemasolev library ei lahenda probleemi rahuldavalt ja plaan on ise kirjutada, siis on oluline tähelepanu pöörata sellele FF bugile: https://bugzilla.mozilla.org/show_bug.cgi?id=483304. Lahendusi on kirjeldatud siin: http://stackoverflow.com/questions/1703552/encoding-of-window-location-hash. Kui ise kunagi ruuterit otsisin, siis muutsid need kaks järgnevat nõuet enamuse ruuteritest mittesobivaks:

  1. Ruutimisvoo ajutine peatamine, näiteks kliendipoolse OAuth (kasutab samuti URLi fragmente) teostamiseks.
  2. Ruutimisvoo interception "lehelt" lahkumise teate küsimiseks.

Lihtsa regulaaravaldistel põhineva ruuteri saab kokku panna ~10 reaga (capture grupid saab näiteks funktsiooni parameetriteks teha). Ruutimist võib teostada läbi window hashchange eventi (IE8 nõuab eventi kuulamiseks oma koodi), timeriga (töötab IE8 ja veel vanematega, 100ms viide peaks ok olema), või lihtsa rakenduse korral body-le delegeeritud click handleri kaudu. Lisada tuleb ka load handler esialgse ruutimise teostamiseks lehele saabumisel.

link

vastatud Dec 21 '14 at 11:23

RLa's gravatar image

RLa
112

Hakkasin kasutama CrossroadsJS-i.

Plussid: Ta kasutab oma libraryt nimega Signals, mis tagab selle, et iga muudatus URL-is tekitab ainult ühe kutsungi.

Miinused Ta kasutab oma libraryt (Hasher, Signals ja Crossroads töötavad koos).

Neutraalne Ei ole veel proovinud sellises konfigutsioonis, et hashtagi ei näitaks.

Panin ta ühte komplekti koos teiste endakasutatavate libraritega ja tegin tast midagi, mis püüab olla MVC framework jQuery jaoks:
https://github.com/jayJs/jay/

link

vastatud Jan 12 '15 at 09:31

martinsookael's gravatar image

martinsookael
111

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×18

küsitud: Dec 11 '14 at 20:10

nähtud: 2,396 korda

viimati uuendatud: Jan 12 '15 at 09:31

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee