Best Online Casinos
1. Sol Casino
Free Sign-Up Bonus: 30 Free Spins ( Free Sign-Up Bonus Link )
First Deposit Bonus: 200% up to €/$ 1000 ( Registration Link )
2. Fresh Casino
Free Sign-Up Bonus: 150 Free Spins ( Free Sign-Up Bonus Link )
First Deposit Bonus: 150% up to €/$ 1000 ( Registration Link )
3. Jet Casino
Free Sign-Up Bonus: 60 Free Spins ( Free Sign-Up Bonus Link )
First Deposit Bonus: 200% up to €/$ 1000 ( Registration Link )
Mallien ja paikkojen käyttäminen – verkkokomponentit | Mdn
Tämä artikkeli selittää, kuinka voit käyttää <sapluuna> ja <aukko> elementit joustavan mallin luomiseksi, jota voidaan sitten käyttää web -komponentin varjo DOM: n täyttämiseen.
Totuus malleista
Kun joudut käyttämään samoja merkinnän rakenteita toistuvasti verkkosivulla, on järkevää käyttää jonkinlaista mallia sen sijaan, että toistat samaa rakennetta uudestaan ja uudestaan. Tämä oli mahdollista aikaisemmin, mutta HTML on helpompi helpompaa <sapluuna> elementti. Tätä elementtiä ja sen sisältöä ei tehdä DOM: ssa, mutta siihen voidaan silti viitata JavaScriptin avulla.
Katsotaanpa triviaalia nopeaa esimerkkiä:
<malli id = “my-caragraph”> <p>Minun kappaleeni</p> </sapluuna>
Tämä ei näytä sivullasi, ennen kuin napaat viittauksen siihen JavaScriptillä ja liität sen sitten DOM: lle käyttämällä jotain seuraavaa:
Anna Template = asiakirja.getElementById (“My-cagraph”); Anna TemplaTeContent = malli.sisältö; asiakirja.vartalo.appendChild (TemplateContent);
Vaikka triviaalia, voit jo nähdä, kuinka tämä voisi olla hyödyllistä.
Mallien käyttäminen verkkokomponenteilla
Mallit ovat hyödyllisiä yksinään, mutta ne toimivat vielä paremmin verkkokomponenttien kanssa. Määritämme verkkokomponentin, joka käyttää malliamme sen varjon sisältöön. Kutsumme sitä <minun> yhtä hyvin:
räätälöinti.Määritä (“my-caragraph”, luokka laajentaa htmlelement constructor () super (); anna template = dokumentti.getElementById (“My-cagraph”); Anna TemplaTeContent = malli.sisältö;
const Shadowroot = tämä.adfricthadow (tila: “avaa”); varjojuuri.appendChild (TemplateContent.Clonenode (tosi)); );
Tärkeintä tässä on, että liitämme mallipitoisuuden kloonin varjojuureen, joka on luotu käyttämällä Solmu.Clonenode () menetelmä.
Ja koska liitämme sen sisältöä varjoon, voimme sisällyttää joitain muotoilutietoja mallin sisään <tyyli> elementti, joka sitten kapseloidaan mukautetun elementin sisään. Tämä ei toimisi, jos vain liittäisimme sen tavalliseen DOM: ään.
Joten esimerkiksi:
<malli id = “my-caragraph”> <tyyli> p väri: valkoinen; Taustaväri: #666; Pehmuste: 5 esimerkiksi; </tyyli> <p>Minun kappaleeni</p> </sapluuna>
Nyt voimme käyttää sitä lisäämällä sen vain HTML -asiakirjaamme:
<minun></My-cagraph>
Lisäämällä joustavuutta lähtö-
Toistaiseksi niin hyvä, mutta elementti ei ole kovin joustava. Voimme näyttää sen sisällä vain yhden vähän tekstiä, mikä tarkoittaa, että tällä hetkellä se on vielä vähemmän hyödyllinen kuin tavallinen kappale! Voimme tehdä mahdollisuuden näyttää erilaiset teksti <aukko> elementti.
Aikat tunnistetaan heidän nimikomppinsa perusteella ja antavat sinun määritellä mallipaikkamerkit, jotka voidaan täyttää millä tahansa haluamallasi merkintäfragmentilla, kun elementtiä käytetään merkinnässä.
Joten jos haluamme lisätä korttipaikan triviaaliseen esimerkkiimme, voisimme päivittää mallipohjamme kappaleelementin näin:
<p><slot name = “my-teksti”>Oletustekstini</aukko></p>
Jos kortin sisältöä ei määritetä, kun elementti sisältyy merkinnään, tai jos selain ei tue lähtöpaikkoja, <minun> Sisältää vain varaosaston “oletusteksti”.
Kulun sisällön määrittelemiseksi lisäämme HTML -rakenteen <minun> elementti a aukko attribuutti, jonka arvo on yhtä suuri kuin sen rajan nimi, jonka haluamme sen täyttävän. Kuten aikaisemmin, tämä voi olla mitä haluat, esimerkiksi:
<minun> <span slot = “my-teksti”>Otetaanpa erilainen teksti!</span> </My-cagraph>
tai
<minun> <Ul Slot = “My-teksti”> <li>Otetaanpa erilainen teksti!</li> <li>Luettelossa!</li> </ul> </My-cagraph>
Huomautus: Solmut, jotka voidaan työntää lähtö- ja saapumisaikoihin, tunnetaan ulottavina solmuina; Kun solmu on asetettu aukkoon, sen sanotaan olevan ura.
Huomautus: Nimeämätön <aukko> on täynnä kaikkia räätälöityjä elementin ylimmän tason lastensolmuja, joilla ei ole aukko määrite. Tämä sisältää tekstisolmut.
Ja siinä se on triviaali esimerkki. Jos haluat pelata sen kanssa lisää, voit Löydä se githubista (näe se live -tilassa myös).
Osallisempi esimerkki
Katsotaanpa artikkelin lopettamiseksi jotain hieman vähemmän triviaalia.
Seuraava koodinpätkäryhmä näyttää kuinka käyttää <aukko> yhdessä <sapluuna> Ja jonkin verran JavaScriptiä:
- luo <elementti> elostua jhk nimeltään lähtö- ja saapumisaukot sen varjojuuri
- suunnitella <elementti> elementti siten, että asiakirjoissa käytettäessä se tehdään muodostamalla elementin sisältöä yhdessä sen kanssa varjojuuri– toisin sanoen elementin sisältöä käytetään täyttämään nimeltään lähtö- ja saapumisaukot sen varjojuuri
Huomaa, että on teknisesti mahdollista käyttää <aukko> elementti ilman a <sapluuna> Elementti, e.g., sanoen säännöllinen <divisioona> elementti ja hyödynnä silti paikanomistajaominaisuuksia <aukko> Shadow DOM -sisällön suhteen ja niin tekeminen voi todellakin välttää pieniä ongelmia, jotka tarvitsevat ensin päästä mallielementin sisältöominaisuuteen (ja kloonikilvoon). On kuitenkin yleensä käytännöllisempää lisätä lähtö- ja saapumisaikoja a <sapluuna> Elementti, koska sinun ei todennäköisesti tarvitse määritellä kuviota, joka perustuu jo renderoituun elementtiin.
Lisäksi, vaikka sitä ei jo tehdään, säiliön tarkoituksen mallin tulisi olla semanttisesti selkeämpiä käytettäessä <sapluuna>. Lisäksi, <sapluuna> voi lisätä siihen suoraan esineitä, kuten <TD>, joka katoaa, kun lisätään a <divisioona>.
Mallin luominen joillakin lähtö-
Ensinnäkin käytämme <aukko> elementti a <sapluuna> elementti uuden “elementti-datals-template” luomiseen asiakirjafragmentti sisältää joitain nimeltään lähtö- ja saapumisaukot–
<malli id = “element-datails-template”> <tyyli> Yksityiskohdat font-perhe: “Open Sans Light”, Helvetica, Arial; .nimi font-weight: lihavoitu; Väri: #217AC0; Kirjasinkoko: 120%; h4 marginaali: 10px 0 -8px 0; H4 Span tausta: #217AC0; Pehmuste: 2px 6px 2px 6px; H4 Span raja: 1px kiinteä #cee9f9; Borderradius: 4px; H4 Span väri: valkoinen; .attribuutit marginaali-vasen: 22px; Kirjasinkoko: 90%; .Attribuutit p marginaali-vasen: 16px; fonttityyli: kursivoitu; </tyyli> <yksityiskohdat> <yhteenveto> <kattaa> <koodiluokka = “nimi”><<slot name = “element-name”>Tarvitsevat nimen</aukko>”>></koodi> <span class = “desc”><slot name = “kuvaus”>Tarvitsee kuvaus</aukko></span> </span> </yhteenveto> <div class = “attribuutit”> <H4><kattaa>Ominaisuudet</span></H4> <slot name = “attribuutit”><p>Ei mitään</p></aukko> </div> </yksityiskohdat> <HR /> </sapluuna>
Että <sapluuna> Elementillä on useita ominaisuuksia:
- Se <sapluuna> on <tyyli> elementti, jossa on joukko CSS -tyylejä, jotka on tarkoitettu vain asiakirjan fragmenttiin <sapluuna> luo.
- Se <sapluuna> käyttötarkoitukset <aukko> ja se on nimi Attribuutti tehdä kolme nimeltään lähtö- ja saapumisaukot–
- <slot name = “element-name”>
- <slot name = “kuvaus”>
- <slot name = “attribuutit”>
- Se <sapluuna> kääri nimeltään lähtö- ja saapumisaukot jonkin sisällä <yksityiskohdat> elementti.
Uuden luominen <elementti> elementti <sapluuna>
Seuraavaksi luodaan uusi mukautettu elementti nimeltä <elementti> käyttää Elementti.attakirje kiinnittyä siihen, niin varjojuuri, Tuo asiakirjafragmentti, jonka loimme <sapluuna> yllä oleva elementti. Tämä käyttää täsmälleen samaa mallia kuin näimme aikaisemmassa triviaalisessa esimerkissämme.
räätälöinti.Määritä (“elementti-datails”, luokka laajentaa htmlelement constructor () super (); const template = document.getElementById (“Element-Datails-Template”).sisältö; const Shadowroot = tämä.adfricthadow (tila: “avaa”); varjojuuri.appendChild (malli.Clonenode (tosi)); );
Käyttämällä <elementti> Mukautettu elementti nimetyllä lähtö-
Otetaan nyt se <elementti> elementti ja käytä sitä todella asiakirjassa:
<elementti> <span slot = “elementti”>aukko</span> <span slot = “kuvaus”>Web -komponentin sisällä sijaitseva paikkamerkki, jonka käyttäjät voivat täyttää omalla merkinnällään, erilaisten DOM -puiden säveltämisen avulla yhteen.</span> <dl slot = “attribuutit”> <DT>nimi</DT> <dd>Aukon nimi.</DD> </DL> </Element-yksityiskohdat>
<elementti> <span slot = “elementti”>sapluuna</span> <span slot = “kuvaus”>Mekanismi asiakas- ja sivusisällön pitämiseksi, jota ei pidä tehdä, kun sivu ladataan, mutta se voidaan myöhemmin toteuttaa ajon aikana JavaScriptin avulla.</span> </Element-yksityiskohdat>
Tästä katkelmasta, huomaa nämä kohdat:
- Katkelma on kaksi tapausta <elementti> elementit, jotka molemmat käyttävät aukko attribuutti viitata nimeltään lähtö- ja saapumisaukot “elementti” ja “kuvaus”, jonka laitamme <elementti> varjojuuri .
- Vain ensimmäinen näistä kahdesta <elementti> elementit viittaavat “määritteisiin” nimeltään Slot. Toinen <elementti> Elementillä puuttuu viittaus “määritteisiin” nimeltään Slot.
- Ensimmäinen <elementti> elementti viittaa “määritteet” nimeltään Slot käyttää <DL> elostua jhk <DT> ja <dd> lapset.
Viimeisen tyylin lisääminen
Viimeistelynä lisäämme vähän enemmän CSS: ää <DL>, <DT>, ja <dd> elementit asiakirjassa:
dl marginaali-vasen: 6px; dt väri: #217ac0; Font-perhe: Consolas, “Liberation Mono”, kuriiri; Kirjasinkoko: 110%; Fontti-paino: rohkea; dd marginaali-vasen: 16px;
runko marginaali: 47px;
Tulos
Lopuksi laitetaan kaikki katkelmat yhteen ja katsotaan miltä renderoitu tulos näyttää.
![]() |
Huomaa seuraavat kohdat tästä renderoidusta tuloksesta:
- Vaikka tapaukset <elementti> Asiakirjan elementti ei suoraan käytä <yksityiskohdat> elementti, ne tehdään käyttämällä <yksityiskohdat> koska varjojuuri aiheuttaa heidän asuttamisen sen kanssa.
- Sisällä <yksityiskohdat> lähtö, sisältö <elementti> elementit täyttävät nimeltään lähtö- ja saapumisaukot peräisin varjojuuri. Toisin sanoen DOM -puu <elementti> elementit koostuvat yhdessä varjojuuri.
- Molemmille <elementti> elementit, Ominaisuudet otsikko lisätään automaattisesti varjojuuri Ennen “ominaisuuksien” sijaintia nimeltään Slot.
- Koska ensimmäinen <elementti> on <DL> elementti, joka viittaa nimenomaisesti “määritteisiin” nimeltään Slot sen varjojuuri, sen sisältö <DL> Vaihda “määritteet” nimeltään Slot peräisin varjojuuri.
- Koska toinen <elementti> ei viittaa nimenomaisesti “attribuutte” nimeltään Slot sen varjojuuri, sen sisältö siihen nimeltään Slot Täytyy sen oletussisällöllä varjojuuri.