Kas yra individualizuota direktyva?
Pasirinktinė „Angular Js“ direktyva yra vartotojo apibrėžta direktyva su jūsų norima funkcija. Nepaisant to, kad „AngularJS“ turi daug galingų direktyvų, kartais reikalingos individualios direktyvos.
Šioje pamokoje sužinosite
- Kaip sukurti pasirinktinę direktyvą?
- „AngularJs“ direktyvos ir taikymo sritis
- Valdiklių naudojimas su direktyvomis
- Kaip sukurti daugkartines direktyvas
- Kampinės JS direktyvos ir komponentai - ng-transclude
- Lizdinės direktyvos
- Įvykių tvarkymas direktyvoje
Kaip sukurti pasirinktinę direktyvą?
Pažvelkime į pavyzdį, kaip galime sukurti pasirinktinę direktyvą.
Mūsų atveju įprasta direktyva paprasčiausiai suleis „div“ žymą, kurios puslapyje bus tekstas „AngularJS Tutorial“, kai iškviečiama direktyva.
Event Registration Guru99 Global Event
Kodo paaiškinimas:
- Pirmiausia kuriame kampinį pritaikymo modulį. Tai reikalinga norint sukurti pasirinktinę direktyvą, nes direktyva bus sukurta naudojant šį modulį.
- Dabar mes kuriame pasirinktinę direktyvą, vadinamą „ngGuru“, ir apibrėžiame funkciją, kuri turės pasirinktinį mūsų direktyvos kodą.
Pastaba: -
Atkreipkite dėmesį, kad apibrėždami direktyvą mes ją apibrėžėme kaip „ngGuru“, o raidė „G“ - kaip didelę. Ir kai mes prieiname prie jo iš savo div žymės kaip direktyvos, mes prieiname ją kaip ng-guru. Taip kampinis supranta taikomąsias direktyvas, apibrėžtas programoje. Pirmiausia muitinės direktyvos pavadinimas turėtų prasidėti raidėmis „ng“. Antra, brūkšnelio simbolis „-“ turėtų būti paminėtas tik skambinant direktyvai. Trečia, pirmoji raidė po raidžių „ng“ apibrėžiant direktyvą gali būti mažoji arba didžioji raidė.
- Mes naudojame šablono parametrą, kurį „Angular“ apibrėžtas parametras pritaikytoms direktyvoms. Tuo mes apibrėžiame, kad kai tik naudojama ši direktyva, tiesiog naudokite šablono vertę ir įveskite ją į skambinimo kodą.
- Dabar mes naudojame savo pasirinktą „ng-guru“ direktyvą. Kai tai padarysime, dabar bus švirkščiama vertė, kurią apibrėžėme šablonui „Kampinis JS pamoka“.
Jei kodas sėkmingai įvykdytas, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
- Pirmiau pateiktas išvestis aiškiai parodo, kad naršyklėje rodoma mūsų pasirinkta „ng-guru“ direktyva, kurios šablonas apibrėžtas rodant pasirinktinį tekstą.
„AngularJs“ direktyvos ir taikymo sritis
Taikymo sritis apibrėžiama kaip klijai, surišantys valdiklį su vaizdu, tvarkant duomenis tarp rodinio ir valdiklio.
Kurdami pasirinktines „AngularJs“ direktyvas, jie pagal numatytuosius nustatymus turės prieigą prie taikymo srities objekto pagrindiniame valdiklyje.
Tokiu būdu pagal direktyvą pagal užsakymą tampa lengva naudotis pagrindiniam valdikliui perduodamais duomenimis.
Pažvelkime į pavyzdį, kaip mes galime naudoti pagrindinio valdiklio sritį savo pritaikytoje direktyvoje.
Event Registration Guru99 Global Event
Kodo paaiškinimas:
- Pirmiausia sukuriame valdiklį, vadinamą „DemoController“. Tuo mes apibrėžiame kintamąjį, vadinamą tutorialName, ir pridedame jį prie srities objekto viename sakinyje - $ scope.tutorialName = "AngularJS".
- Mūsų pritaikytoje direktyvoje kintamąjį galime vadinti „tutorialName“, naudodami išraišką. Šis kintamasis būtų prieinamas, nes jis apibrėžtas valdiklyje „DemoController“, kuris taptų šios direktyvos pirminiu.
- Mes nurodome valdiklį div žymoje, kuri veiks kaip mūsų pagrindinė div žyma. Atminkite, kad tai reikia padaryti pirmiausia, kad mūsų pasirinktinė direktyva pasiektų kintamąjį tutorialName.
- Pagaliau tiesiog pridedame pasirinktinę direktyvą „ng-guru“ prie savo „div“ žymos.
Jei kodas sėkmingai įvykdytas, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
- Pirmiau pateiktas išvestis aiškiai parodo, kad mūsų pasirinktinė direktyva „ng-guru“ tėvų valdiklyje naudoja srities kintamąjį tutorialName.
Valdiklių naudojimas su direktyvomis
„Angular“ suteikia galimybę tiesiogiai pasiekti valdiklio nario kintamąjį pagal pasirinktines direktyvas, nereikalaujant taikymo srities objekto.
Tai kartais tampa būtina, nes programoje gali būti keli srities objektai, priklausantys keliems valdikliams.
Taigi yra didelė tikimybė, kad suklysite patekę į netinkamo valdiklio taikymo sritį.
Tokiame scenarijuje yra būdas konkrečiai paminėti sakymą „Noriu prisijungti prie šio konkretaus valdiklio“ iš savo direktyvos.
Pažvelkime į pavyzdį, kaip mes galime tai pasiekti.
Event Registration Guru99 Global Event
Kodo paaiškinimas:
- Pirmiausia sukuriame valdiklį, vadinamą „DemoController“. Čia mes apibrėžsime kintamąjį, vadinamą „tutorialName“, ir šį kartą, užuot prijungę jį prie srities objekto, mes jį tiesiogiai pridėsime prie valdiklio.
- Mūsų pritaikytoje direktyvoje mes konkrečiai paminėjame, kad norime naudoti valdiklį „DemoController“, naudodami valdiklio parametro raktinį žodį.
- Sukuriame nuorodą į valdiklį naudodami parametrą „controllerAs“. Tai apibrėžia kampinis ir yra būdas nurodyti valdiklį kaip atskaitos tašką.
Pastaba: - direktyvoje galima pasiekti kelis valdiklius, nurodant atitinkamus valdiklio blokus, valdiklįA ir šablonų sakinius.
- Galiausiai šablone naudojame 3 žingsnyje sukurtą nuorodą ir nario kintamąjį, kuris buvo tiesiogiai prijungtas prie valdiklio 1 veiksme.
Jei kodas sėkmingai įvykdytas, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Išvestis aiškiai parodo, kad pasirinktinė direktyva ypač prieina prie „DemoController“ ir prie jo pridėto nario kintamojo „tutorialName“, ir parodo tekstą „Kampinis“.
Kaip sukurti daugkartines direktyvas
Mes jau matėme galiojančių direktyvų galią, bet galime tai pakelti į kitą lygį kurdami savo pakartotinai naudojamas direktyvas.
Tarkime, pavyzdžiui, norėjome įšvirkšti kodą, kuris visada rodytų žemiau esančias HTML žymas keliuose ekranuose, o tai iš esmės yra tik vartotojo „vardo“ ir „amžiaus“ įvestis.
Norėdami pakartotinai naudoti šią funkciją keliuose ekranuose, kiekvieną kartą neužkoduodami, mes sukuriame pagrindinį valdiklį arba direktyvą kampu, kad galėtume laikyti šiuos valdiklius (vartotojo vardas ir pavardė).
Taigi dabar, užuot kiekvieną kartą įvedę tą patį kodą žemiau esančiame ekrane, mes iš tikrųjų galime įterpti šį kodą į direktyvą ir įterpti tą direktyvą bet kuriuo metu.
Pažiūrėkime pavyzdį, kaip mes galime tai pasiekti.
Event Registration Guru99 Global Event
Kodo paaiškinimas:
- Pasirinktinės direktyvos kodo fragmente keičiama tik ta vertė, kuri suteikiama pasirinktinės direktyvos šablono parametrui.
Vietoj penkių plano žymos ar teksto mes iš tikrųjų įveskite visą 2 įvesties valdiklių fragmentą „Vardas“ ir „Amžius“, kuriuos reikia parodyti mūsų puslapyje.
Jei kodas sėkmingai įvykdytas, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
Iš pirmiau pateiktos išvesties galime pamatyti, kad kodo fragmentas iš tinkintos direktyvos šablono bus pridėtas prie puslapio.
Kampinės JS direktyvos ir komponentai - ng-transclude
Kaip jau minėjome gana anksčiau, „Angular“ yra skirtas išplėsti HTML funkcionalumą. Mes jau matėme, kaip mes galime įvesti kodą naudodami pritaikytas pakartotinai naudojamas direktyvas.
Tačiau kuriant šiuolaikines žiniatinklio programas taip pat yra žiniatinklio komponentų kūrimo koncepcija. Tai iš esmės reiškia sukurti savo HTML žymas, kurios gali būti naudojamos kaip mūsų kodo komponentai.
Taigi kampinis suteikia dar vieną galią išplėsti HTML žymas suteikdamas galimybę įterpti atributus į pačias HTML žymas.
Tai daro „ ng-transclude “ žyma, kuri yra tam tikras nustatymas, leidžiantis kampuotai užfiksuoti viską, kas dedama direktyvos viduje žymėjime.
Paimkime pavyzdį, kaip mes galime tai pasiekti.
Event Registration Guru99 Global Event
Angular JS
Kodo paaiškinimas:
- Mes naudojame direktyvą norėdami apibrėžti pasirinktinę HTML žymą, vadinamą „pane“, ir pridedame funkciją, kuri įdės tam tikrą šios žymos kodą. Išvestyje mūsų pasirinktinės srities žymoje bus rodomas tekstas „AngularJS“ stačiakampyje su vientisa juoda sienele.
- Atributas „transclude“ turi būti paminėtas kaip teisingas, kurio reikalauja kampinis, kad šią žymą įterptų į mūsų DOM.
- Taikymo srityje apibrėžiame pavadinimo atributą. Atributai paprastai apibrėžiami kaip pavadinimo / vertės poros, pvz .: name = "value". Mūsų atveju atributo pavadinimas mūsų srities HTML žymoje yra „title“. „@“ Simbolis yra kampinio reikalavimo reikalavimas. Tai daroma todėl, kad atlikus 5 veiksmą eilutės pavadinimas = {{title}}, tinkintas atributo pavadinimas kodas bus pridėtas prie srities HTML žymos.
- Pasirinktas pavadinimo atributų kodas, kuris tiesiog nubrėžia tvirtą juodą kraštinę mūsų valdymui.
- Galiausiai, mes vadiname savo tinkintą HTML žymą kartu su pavadinimo atributu, kuris buvo apibrėžtas.
Jei kodas sėkmingai įvykdytas, paleidus kodą naršyklėje bus rodoma ši išvestis.
Išvestis:
- Išvestis aiškiai rodo, kad žymos srities html5 pavadinimo atributas buvo nustatytas kaip „Angular.JS“ pasirinktinė vertė.
Lizdinės direktyvos
Gali būti įterptos kampinės direktyvos. Kaip ir tik vidiniai moduliai ar funkcijos bet kuria programavimo kalba, jums gali tekti įterpti direktyvas vienas į kitą.
Tai galite geriau suprasti pamatę žemiau pateiktą pavyzdį.
Šiame pavyzdyje kuriame 2 direktyvas, vadinamas „išorine“ ir „vidine“.
- Vidinėje direktyvoje rodomas tekstas pavadinimu „Vidinis“.
- Nors išorinė direktyva iš tikrųjų ragina vidinę direktyvą rodyti tekstą, pavadintą „Vidinis“.
Guru99 Global Event