Mi az a Knockout.js?
A Knockout egy nagyszerű Javascrip könyvtárSegít szövegben gazdag felhasználói felületet létrehozni, jó megjelenítési és szerkesztési képességekkel, csak egy tiszta és tiszta alapadatmodell felhasználásával. Bármikor, amikor a helyi UI tartalmát automatikusan frissíteni kell (például a felhasználói viselkedés vagy külső adatforrások változásától függően), a KO könnyen megvalósítható és nagyon könnyen karbantartható.
A KO fontos jellemzői:
Elegáns függőségkövetés – Bármikor, amikor az adatforrás modell változik, automatikusan frissítheti a megadott felhasználói felületed tartalmát. Deklaratív kötés – Egyszerű és egyszerű módon köti a felhasználói felületet az adatforrás modellhez, és bármilyen beágyazott szerkezeti sablont használhatsz egy összetett dinamikus interfész építéséhez. Jó skálázhatóság – egy egyedi viselkedés néhány egyszerű kódsorral megvalósítható, amit új deklarációként köthetünk meg.
További előnyök:
Tiszta Javascrip{filtering}t könyvtár – kompatibilis bármely szerver- és klienstechnológiával. Jól alkalmazható meglévő alkalmazásokra – anélkül, hogy a program fő architektúráját változtatnánk. Egyszerűség – csak 13K a Gzip tömörítés után. Kompatibilis bármely nagyobb böngészővel (IE 6+, Firefox 2+, Chrome, Safari és mások) Átfogó specifikációkészlet (viselkedésvezérelt fejlesztéssel) – ez azt jelenti, hogy könnyen ellenőrizhetők új böngészőkben vagy platformokon is. Azok a fejlesztők, akik ismerik a Ruby on Rails-t, Asp.net MVC-t vagy más MVC technológiákat, úgy találhatják, hogy ez egy MVC valós idejű forma deklaratív szintaxissal. Más szóval, a KO-t úgy is elképzelheted, mint egy UI felhasználói felület létrehozásának módját JSON adatok szerkesztésével... Bármit is tesz neked.
Hogyan kell használni?
A leggyorsabb és legszórakoztatóbb módja a kezdésnek az interaktív oktatás, és ha elsajátítottad a legalapvetőbb technikákat és megtanultad az egyes online példákat, készen állsz a projektjeidre is.
Versenyeznek egymással a KO és a Jquery (prototípus stb.), vagy együtt használhatók?
Mindenki imádja a Jqueryt! Korábban különféle inkonzisztens DOM objektummanipulációs API módszereket kellett elviselnünk, és a Jquery megjelenése nagyszerű alternatívát jelent a korábbi esetlen keretrendszerekkel szemben, rugalmassá és könnyen használhatóvá téve. A Jquery kiváló és könnyen használható weboldalelem-manipulációra és eseménykezelésre, míg a KO egy másik problémát old.
Ha a UI interfészed kicsit összetettebb és hasonló viselkedést tartalmaz, ha csak a Jquery-t használod, akkor a UI bonyolultabb és nehezebb lesz, mint gondolnád, és a fenntartása elég költséges lesz. Vegyük például egy táblázatban megjelenített elemlistát, amely megmutatja a listák számát, és engedélyezi az "Hozzáadás" gombot, ha az elemlisták száma kevesebb, mint 5, egyébként ki van tiltva. A Jquery nincs alapvető adatmodell-koncepcióval, így ha a projektlisták számát akarod megszerezni, a táblázat/tr/div számokból kell következtetést tenned. Ha bizonyos SPAN-ok adatmennyiségét kell megjeleníteni, akkor érdemes frissíteni a SPAN szövegét is, amikor új adatokat adsz hozzá. Természetesen azt is észben kell tartani, hogy ha az összszám >=5, akkor ki kell kapcsolni az Hozzáadás gombot. Ezután, ha a Delete funkciót szeretnéd megvalósítani, meg kell mutatnod, melyik DOM elemet kell megváltoztatni a kattintás után.
Miben különbözik a Knockout-tal?
A KO-val minden nagyon egyszerűvé válik. Lehetővé teszi, hogy könnyen skálázd a projekt összetettségét anélkül, hogy aggódnád az adatok következő következősége miatt. Egyszerűen átalakítja az adataidat egy Javascrip{filter}t tömbbe, majd foreach segítségével köti az adattömböt egy táblához vagy az oldalon lévő div-készlethez. Amikor az adattömbben változik, a felhasználói felület automatikusan reagál a változásra (nem kell megadnod, hogyan vagy hova kell új sort behelyezni), a többi pedig a UI adatszinkron. Például a következő SPAN-t beállíthatod, hogy megjelenítse az adatmennyiséget:
Ez az! Nem kell kódot írni a frissítéshez, a frissítés a myItems tömbjének változásaitól függ. Hasonlóképpen, az Add gomb engedélyezése és kikapcsolása a myItems tömbének hosszától függ, a következők szerint:
Azután, ha implementálnod kell a "Delete" funkciót, nem kell megadnod, hogyan kell manipulálni az UI elemeket, csak módosítanod kell az adatmodellt.
Összefoglaló: A KO-nak nincs szándékában versenyezni a jQuery-vel és más hasonló DOM manipulációs keretrendszerekkel. A KO magas szintű módot kínál az adatmodell és a felhasználói felület közötti korrelációra.A KO nem függ magáról a jQuery-től, de együtt használhatod a jQuery-t, Élénk és finom felhasználói felület változtatásokhoz jQuery használata szükséges.
Erőforrások:
http://www.aizhengli.com/knockoutjs/50/knockout.html
http://knockoutjs.com/
|