PhilTiaprpa sieRwoibciBznö hm · u ar Einper aktisEcihnef ühriunn g dasJ avaScript-Framework dpunkt.verlag AngularJS Überd iAeu toren PhiplpiT arasiewiisictmz W eb grogße worduennd a rbeiatlest freiberuTfelcihcnhoelro gieAbuetroart,e rS,p urnedCc ohaecrh . Seit einigJeanh rheante rs icahu dfe nB ereiEcnht erpJraivsaeS cirnispt, besondeArneg ulasrpJeSz,i aluinsdiu enrtte rstUünttzetr nehmen beid erA usu-ndF ortbilidhurneMgri tarbewiiteae urc hb eim Ramp-unpe uePrr ojeGketmee.i nsmaimtS ascha BurndiR nokb in Böhmb etreeirdb atsd eutscPhoer tzauAl n gula(rAJnSg ularJS.DE). RobiBnö hmi slte idenschaSfotfltiwcahreerce knltBewerir,a tuenrd Autoirm B ereidcehrW ebtechnoluongdis epne zizeulE ln terprise JavaScrEirbp ets.c häftsiigcsthe ieti nigJeanh riennt enmsiitdv e r Erstelclluinegn tseWietbiagpeprl ikatuinodun netne rstUünttzetr nehmesno wohble die rA usu-ndF ortbilvdounMn igt arbeailtse rn aucbhe die rU msetzuvnognP rojekAtueßne.r diesmet rM itgründer desP ortAanlgsu larJS.DE. Zud ieseBmu c-hsowizeuv ielweeni terdepnu nkt.bü-chern könneSni e auceh ntdassp rechEe-nBdoeoi kmP DF-Format herunterlWaedredneS.ni dea zeui nfaMciht glbieedidp unkt.plus+: www.dpunkt.de/plus PhilTiaprpa sieRwoibcizn Böhm · AngularJS Einper atkiscEhiefn ühruinngd as JavSacrti-Fpramweork PhiplT iaaprsiewicz [email protected] Robin Böhm [email protected] LektoRreantS:ec hönfeldt CopyE ditiAnnng e:t tSec hwaDrizt,z inn ge SatDza:- eTX,L eipzig HerstelFlruannHgke: i dt UmsclhaggeusntgaH:le tlmuKtr auwsw,w .elxcam.de Drucukn dB induMn.gP:M. e dia-PIrnoifrnmta tnsitohencoloGgmibeH 3,3 100P adernb or BiibolgafirscIhnef ormadteirDoe unt scnhN eationailobtihbelk DieDe utscNhaet niaolbiiobtlhveekr zeicdhineePsteu bklaitni iond erDe utshcenN ationalbaifbile;i ogr deatiilelrbtieb glriaofisDcatheesn i nd Initme rünbeerth ttp://dnb.adbu-rfnbba.rd.e ISB9N78 -3-864901-45-6 1.A ufla2g0e14 Copyrhitg©2 014d punktl.avGgem rbH Wieblinegge1 r7W 69123H eidbeelrg Diveo rliegPeunbdkleati ioinsu trh eberhrtelcigcehs chützt. Avlolreb eRheenacD.lhi ttVeee rwednung deTrextuen dA bbiulndgeanu,c ahu szugswiesiotsh en,ed i sec hrifZtulsitcihmuemn gd esV erlags urheberrechtusnwdid darhiesgrt rafDbiaergs.i lt insbefüsrdo inVede errvei letlifgäuÜnbge,rs etzung oder Vdeirew ednungi ne leokntirshcenS ystem.e n Esw idr darahuifn gewiedsaesdnsi, ie m B ucvhe rwendeStoefnut n-dH ardwea-rBezeichnsuonwgieen Markeanmnenu ndP roduktbezeigcehndn eujrne weiigleFnri meni mA lglemeinn Wearenzeichen-, makren-odepra teencthrtliScchheumut nzt erliegen. AllAen gabeunn dP rogrammiend ieseBmu cwhu rdemni gtr ößtSeorr gfkaolntt rolWleideerAr utt.o r nocVhe lrakgö nnen jefdüroS cchh änd heaftbgaerm acwhetr de,dn iien Z usammenhmaintdge r Verwednungd iesBeusc hsetse hen. 543120 PhilTiarpapsw iicez: FüTrha ddeSuylsw,iP aa,t ruincLdka ura Robßiönhm: FüHre iEkrnes,Kt a,t Rhois,w iutnLhdia s a vii Inhaltsverzeichnis 1 AngulJaSrS chnetlaltrs.................1. .............. 101 ZweiW-ege-DatenbindBuonigl:e rplatew-arCg oedset e0r n00 1 0 1.2 DirektiEviegne:nH eT ML-EiemenutnedA ttrib0u t0e 0 0 0 50 0 0 0 0 0 0 1.3 FiltFeorr:m atieArutsgea beinm H andumdrehe0n 0 0 0 01 20 0 0 0 0 0 0 2 Grundlageunn dK onzepdtee sF ramewor.k s. . . . 1.9 . . . . . . . 201 Leitkonze0p t0e 00 00 00 000 00 0 0 00 000 0 0 0 00 00 000 001 900 0 0 0 0 0 0 0 0 0 0 0 0 2010M1o dei-View-ConotdreoMrlo ldeeri -View-View0M o1d9e l? 2010D2i eZ wei-Wgee-DatenbinudnudnS gc ope0s 0 0 0 20 30 0 0 0 0 0 20.13 InversoifoC no ntruonld D ependenlcnyj ecti0o n00 0 205 0 0 20.14 Testbar0k e0i t0 0 0 0 0 0 0 0 0 00 000 00 2 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 Anwendungsbaust0e i0n e0 0 0 0 0 0 00 00 00 00 2 900 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2020M1o dul0e 0 00 00 0 0 0 00 00 00 00 000 000 0 000 0 0020 0 9 0 00 00 00 0 0 0 0 0 0 2020C2o ntrol0l e00r 00 0 0 0 00 00 00 000 000 000 00 00 3000 00 0 0 0 0 0 0 0 0 0 0 0 0 20.23 Model0s 0 00 00 00 0 0 0 0 00 00 00 00 0 0 0 0 0 0 0 30 01 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 220.4 Route0n 0 00 00 0 0 0 0 0 0 0 0 0 00 00 3 010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202.5 AnsichtTeenm,p latuensdE xpressi0o n0s 00 00 00 030 3 0 0 0 0 0 2062 0Filt0e 0r 0 00 00 000 000 000 00 0 0 0 0 00 00 3006 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202.7 Servic0e s0 00 00 000 00 00 00 0 0 0 0 0 0 402 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2082 0Direkti0v e0n 00 00 00 0 0 0 0 0 00 00 00 00 4009 00 00 00 00 00 0 0 0 0 0 0 0 0 0 3 DaBso okMokney-Protj e.k . . . . . . . . .7 5. . . . . . . . . . . . . . . . . . . 301 Aufg eht'asbg, e ht'Psr:o jeukntd-P rozessvorst0e l0l0 u n0g 7 05 0 0 0 302 Voraussetzu0n g0e 0n 0 0 0 00 00 0 0 0 0 0 0 0 0 706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3.3 DieP rojektumgeabuufnsge tze0n 00 00 0 0 0 0 0 70 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3.4 ProjektstDaertta:i lanesiincehBstu che0s 0 00 00 00 000 00 080 1 0 0 00 0 0 3.041 DasT emplaftüedr i eD etailanmsiitcE hxtp ress0i o0n s80 3 0 3.042 Dien gHref-Dire0k t0i v0e 0 0 0 00 00 00 00 008 400 00 00 00 00 00 00 0 0 3.4.3D asT emplamtiet dnegrß ind- undn gßindTemplate-D0i r0e k0t i0v e0 0 0 08 40 0 0 0 0 0 0 0 0 0 0 0 0 0 3.4.4D asA nwendungsmoddeufiln ier0e n0 0 0 0 0 806 0 0 0 0 0 0 0 0 0 0 0 3.4.5D iee rstReo ute0 00 0 0 00 0 00 0 0 0 0 0 0 807 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3.46. Eine igenSecro pmei td emB ookDetailsCtri-Co89n troller 3.047 Dere rstTee s0t 00 00 00 0 00 0 00 00 00 0 00 00 0 0 0 0 09 00 0 0 0 0 0 0 0 0 0 0 0 viii Inhtaslveerizchnis 3.5 ListenanfsüirBc ühcteh r..... . . . . . . . . . . . .98 . . . . . . . . . . . . . . . . . . . 3.5.1A lsE rstdeesrT es.t. . . .... . . . . . . .. ... ... . ... ... .... .. 9 9 3.5.2D ieI nfrastrfuükrt uLdrii es tenans.i .c h.t . . . .1 04. . . . . . . . . 3.5.3D erB ooklistCtri-C.o n.t .r o.l l.e .r . . . . .O S. . . . . . . . . . . . . . . 1 3.5.4D ien gRepeat-DirAeukstgiavbeee:i neAsr rays imT empla.t. e . . . . . . . . . . . . . . O.S . . . . . . . . . . . . . . . . . . . . . . . 1 3.5.5D ero rderBy-FSiolrtteire:rf uensgt le.g. e n. . . . .1 10. . . . . . . 3.5.6D erfi lter-FDialtteebnre :q uemfi lte.r n. . . . . .1 1.S . . . . . . . . 3.6 Navigieirnenne rhdaelrbA nwendun.g . . . . . . . .1 2.3 . . . . . . . . . . . . 3.6.1D ieS tandardrmoiut$t reo utePro.ovtihdeerrwi.s e.( )1. 23. 3.6.2 AlsE rstdeesr T es.t. . . . . . . . . . . . .1 .2 4. . . . . . . . . . . . . . . . . . . . 3.6.3N avigatmiiotnt eHlass hbanUgR-Ls.. . . . . . . 1. 26. . . . . . . . . . 3.6.4D ien gCiick-DirAeukfKt liivcek:- Evreenatgsi e.r. e .n .1 .3 0. 3.6.SD er$ 1ocation-SIenrtveircaek:t ionen mitd erA dressz.e. i l.e . . .. ... .. .. .. .. .. .... . 1 3.1 . . . . . . . . 3.7 Dere rstSee rvi.c.e...... . . . . . . . . . . . . .1 34. . . . . . . . . . . . . . . . . . . . . . 3.71. AlEsr stdeesrTes.t. ................................. 134 3.7.2D erB ookDataSerDvaitceen:z ugrkiafpfsee i.n.......1.4.1 3.7.3D enB ookDataSereviincbei nd.e.n. ...........1.4..6. ... 3.7.4D er$ routeParams-SUeRLr-vPiacrea:m eatuesrl es.e.n.1 48 4 DieA nwendunegr weitern 153 ............................ 4.1 DerA dministration.s b.e r.e i.c .h . ... .. ... .. . . . . .... . .. 1. S 3. . . . 4.1.1A lEsr stdeesrT es.t. . . . . . . . . . . . .1 .S4 . . . . . . . . . . . . . . . . . . . . 4.1.2D ieC RUD-OperatidoenseB no okDataSe.r v.i c.e . 1.S8 . . . . 4.1.3D ien gShowu-ndn gHid-eDirektIinvhea:lb teed ingt anzeiguennd a usblend.e .n . . . . . . . . .1 6.2 . . . . . . . . . . . . . . . 4.1.4F ormularverarubnediV taulnigd iemriutnd egm Form- ControlulnedNr g ModeiContr.o l.l .e r. . . . .1 6. S. . . . . . . . . . 4.1.5T emplatmeistd ern glnclude-Dierienkbtiinv.de.e .n.. 178 4.1.6D ieF unktizounm E ditieerienneB su che.s. .......1.8..1. 4.17. DieF unktizounm L öscheeni neBsu che.s.... . . . . . . . . . 182 4.2 KategorisideurrucnThga gs. . . . . . . . . . . . 1.8 7. . . . . . . . . . . . . . . . . . . 4.2.1D asD atenmodueml lT agesr weit.e r.n . . . . .1 8.8 . . . . . . . . . 4.2.2A lsE rstdeesrT es.t. . . . . . . . . . . . .1 9.0 . . . . . . . . . . . . . . . . . . . . 4.2.3D ieT okenfield-DirTeakgtasin vlee:g e.n . . . . . 1.98 . . . . . . . . 4.2.4D ieT ags-DireTkatgiasvn ez:e ig.e n. . . . . . . 2.07 . . . . . . . . . . . 4.3 EineRnE SWTeb Serviacneb ind.e.n. ..............2..1.1. ..... 4.3.1D asB ookMonkey-Bac.k e.n .d . . . . . . . 2.1 2. . . . . . . . . . . . . . . 4.3.2H TIP-Kommunikmatiito nd e$mh ttp-Ser.v.i.c.e. .2.1.3 4.3.3A lsE rstdeesrT es.t. .....................2.16. .......... 4.3.4$ httipm B ookDataSernvuitczee. n............2.2..1. ... 4.3.5D ieA nwendunwgi ederinstand.s .e t.z e.n . . .2 2.4 . . . . . . . . Inhlatsveerizchnis ix 5 Projtevkrewaltuunngd A utomatsiierung 233 ............... 5.1 Nodej.sD:i eA blaufumgebfuündrgi eW erkzeu.g..e........2.3 3 5.2 Frontend-AbhängimgiktBe oiwteevrne rwalt.e n. . . . 2.3 .7 . . . . . . 5.21. Bowekro nfigurie.r e..n ... . . .. ... ... .... .... .... . .2 4. 1. 5.2.2E igenPea ketmei tB owevre rwalt.e n. . . . . .2 .4 2. . . . . . . . . . 5.2.3E inp rivaRteegsi setresrt el.l.e.n. ............2.4..2. .... 5.2.4M öglicPhreo blemmiet P roxy-Serv.e .r n. . . .2 .4 3. . . . . . . . 5.3 Aufgabmein tG runatu tomatisi.e .r e.n . . . . . . 2. 4.4 . . . . . . . . . . . . . 5.3.1A ufgabekno nfigurie.r .e n. . . . . . . . . 2.4 5. . . . . . . . . . . . . . . . . 5.3.2S innvoPlalkee tfeü dri eE ntwicklu.n .g . . . . .2 5.5 . . . . . . . . . 5.4 Testmsi tK armaa utomatisaiuesrftü hr.e n. . . . . . .2 59. . . . . . . . . . . . 5.4.1 Konfigurat.i.o.n. ......................2.60. ........... 5.4.2D iew ichtigsPtaerna me.t.e.r. ..............2.6.1. ...... 5.4.3I nitiKaalrem a-Konfigurgaetnieorni e.r.e.n.......2.6.3. . 5.4.4 Karma-Erweitenruutngzeenn. . . . . . . . . .2 6.5 . . . . . . . . . . . . . 5.4.5 Testdsi reiknWt e bStaramu sführ.e .n . . . . . 2.6 5. . . . . . . . . . 5.64. Test-Frame.w o.r k.s . . . . . . . . . . .2 6.7 . . . . . . . . . . . . . . . . . . . . . 5.47. ContinuoIunst egrat.io.n. . .. ..... 268 . ... ... ... .. ....... 5.5 YeomanE:i nd efinierWtoerrk flow.. . . . . . . . . .2 7.0 . . . . . . . . . . . . . . . 5.5.1W asi sYte oman.?. . .. ... .. . ... .. 270 ... ... ... .. .. ... .... 5.5.2Y eomani nstallie.r.en. .. .. . .. ... 271 ... ... ... ... .. ... ... 5.5.3A nwendungsbaustgeeinneerni er.e n. . . . . .2 7.1 . . . . . . . . . 5.5.4Y of üArn gulraJS-Pjreokte. .. .. ..... . 272 ... ... ... .. ...... 5.5.5G enerieGrrtuen t-Konfigu.r.a.t..i .o n. . . . . 2.7 .9 . . . . . . . . . 6 Debugging 283 .......................................... 6.1 Chrome DevelToopoel.rs . . . . . . . . . . . . 2.8 3. . . . . . . . . . . . . . . . . . . . . 6.1.1D erE lemente-.T .a b.. ... ... .... ... ... . . . . . .2 8.4 . . . . . . . . 6.1.2 DieK onso.l e. . . . . . . . . . . . . . .28 .5 . . . . . . . . . . . . . . . . . . . . . . . . 6.1.3 DerS ources-JTaavba:S criptd-eCboudgeg e.n. .....2.8.7 6.2 BataraEnign:s iicnhd ti el aufenAdneg ularJS-Anwe.n.d.u.2n 8g9 6.2.1 Scopeusn terseunc.h................. . . . . . 2.9 0. . . . . . . . . 6.2.2A usführungszveoinFt uennk tiovneernm ess.e n. . 2.9 .2 . . 6.2.3S erviceabhängiugnkteeirtseunc h.e .n . . . . .2 9.3 . . . . . . . . . 6.3 DieW ebStorm-.I D.E . . . . . . . . . . . . . 2.9 .5 . . . . . . . . . . . . . . . . . . . . . . . . 7 Antwortaeunfh äufigg estelFlrtaeg en 299 .................. 7.1 AngularJS-MoWdiuesl ter:u kturwiierrA ennw endungemint Modulen? 299 ................................................. 7.1.1M odulien A ngularJ.S. ... . 299 .. ... ... .................. 7.1.2W anni sMto dularisiseirnunnvgo ll.? . 301 ..... ........... 7.1.3O rdnerstru.k.t.ur. . . ... 304 .. ... ..................... ...
Description: