Oman Pipen Luominen Angularissa
Joskus Angularin sisäänrakennetut pipet eivät riitä. Saatat tarvita ainutlaatuisen muunnoksen, joka on erityinen sovelluksellesi. Tässä tapauksessa voit luoda oman mukautetun pipen.
Oletetaan, että sinulla on tehtävälista, jossa jokainen tehtävä voi olla joko suoritettu tai suorittamatta. Jotta suoritetut tehtävät erottuvat visuaalisesti, haluat lisätä automaattisesti ✅-emojin niiden otsikoihin. Sen sijaan, että kovakoodaisit tämän logiikan jokaiseen malliin, voit rakentaa sitä varten oman pipen.
Oman pipen luominen
Luo mukautettu pipe Angularissa käyttämällä seuraavaa CLI-komentoa. Nimeämme sen formatTitle, koska sen tehtävänä on muotoilla tehtävän otsikko sen suoritusstatuksen perusteella:
Tämä luo kaksi tiedostoa:
-
format-title.pipe.ts— pipen logiikka; -
format-title.pipe.spec.ts— yksikkötestitiedosto (voit poistaa sen, jos et tarvitse testejä tällä hetkellä).
Kun Angular luo putken, se näyttää suunnilleen tältä:
pipe.ts
Tämä koodi tekee seuraavaa:
-
FormatTitlePipe-luokka toteuttaaPipeTransform-rajapinnan, mikä varmistaa, että putkella ontransform-metodi; -
transform-metodi vastaanottaa arvon (syötteen) ja valinnaiset argumentit sekä palauttaa muunnetun tuloksen. Tässä vaiheessa se palauttaa syötteen sellaisenaan; -
Putken nimi (
formatTitle) määritellään@Pipe-koristelijassa — tätä nimeä käytetään mallissa.
Tällä hetkellä putki on olemassa, mutta ei vielä tee mitään. Lisätään seuraavaksi varsinainen logiikka.
Oman putken toteutus
Otsikkoon tulee lisätä ✅-emoji tehtävän valmistumistilan (task.completed) perusteella. Päivitä pipe käyttämään mukautettua muotoilulogiikkaa:
pipe.ts
transform-metodi ottaa kaksi argumenttia:
-
value— tehtävän otsikko; -
completed— totuusarvo, joka ilmaisee onko tehtävä valmis.
Jos tehtävä on valmis (true), otsikon loppuun lisätään ✅-emoji. Muussa tapauksessa otsikko palautetaan muuttumattomana.
Putken käyttäminen mallipohjassa
Käyttääksesi putkea Angular-mallipohjassa, liitä se putkisymbolilla |:
template.html
Tässä tapahtuu seuraavaa:
-
task.titleon arvo, joka välitetään putkelle; -
formatTitle:task.completedkäyttää putkea ja välittääcompleted-lipun; -
Otsikko sisältää joko ✅-emojin tai ei, riippuen tehtävän tilasta.
Tämänkaltaisten putkien käyttö auttaa pitämään mallipohjat selkeinä ja luettavina sekä siirtää muotoilulogiikan uudelleenkäytettävään ja testattavaan koodiin.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me the code for the custom pipe implementation?
How do I use this custom pipe in my Angular template?
What are some other use cases for custom pipes in Angular?
Awesome!
Completion rate improved to 3.13
Oman Pipen Luominen Angularissa
Pyyhkäise näyttääksesi valikon
Joskus Angularin sisäänrakennetut pipet eivät riitä. Saatat tarvita ainutlaatuisen muunnoksen, joka on erityinen sovelluksellesi. Tässä tapauksessa voit luoda oman mukautetun pipen.
Oletetaan, että sinulla on tehtävälista, jossa jokainen tehtävä voi olla joko suoritettu tai suorittamatta. Jotta suoritetut tehtävät erottuvat visuaalisesti, haluat lisätä automaattisesti ✅-emojin niiden otsikoihin. Sen sijaan, että kovakoodaisit tämän logiikan jokaiseen malliin, voit rakentaa sitä varten oman pipen.
Oman pipen luominen
Luo mukautettu pipe Angularissa käyttämällä seuraavaa CLI-komentoa. Nimeämme sen formatTitle, koska sen tehtävänä on muotoilla tehtävän otsikko sen suoritusstatuksen perusteella:
Tämä luo kaksi tiedostoa:
-
format-title.pipe.ts— pipen logiikka; -
format-title.pipe.spec.ts— yksikkötestitiedosto (voit poistaa sen, jos et tarvitse testejä tällä hetkellä).
Kun Angular luo putken, se näyttää suunnilleen tältä:
pipe.ts
Tämä koodi tekee seuraavaa:
-
FormatTitlePipe-luokka toteuttaaPipeTransform-rajapinnan, mikä varmistaa, että putkella ontransform-metodi; -
transform-metodi vastaanottaa arvon (syötteen) ja valinnaiset argumentit sekä palauttaa muunnetun tuloksen. Tässä vaiheessa se palauttaa syötteen sellaisenaan; -
Putken nimi (
formatTitle) määritellään@Pipe-koristelijassa — tätä nimeä käytetään mallissa.
Tällä hetkellä putki on olemassa, mutta ei vielä tee mitään. Lisätään seuraavaksi varsinainen logiikka.
Oman putken toteutus
Otsikkoon tulee lisätä ✅-emoji tehtävän valmistumistilan (task.completed) perusteella. Päivitä pipe käyttämään mukautettua muotoilulogiikkaa:
pipe.ts
transform-metodi ottaa kaksi argumenttia:
-
value— tehtävän otsikko; -
completed— totuusarvo, joka ilmaisee onko tehtävä valmis.
Jos tehtävä on valmis (true), otsikon loppuun lisätään ✅-emoji. Muussa tapauksessa otsikko palautetaan muuttumattomana.
Putken käyttäminen mallipohjassa
Käyttääksesi putkea Angular-mallipohjassa, liitä se putkisymbolilla |:
template.html
Tässä tapahtuu seuraavaa:
-
task.titleon arvo, joka välitetään putkelle; -
formatTitle:task.completedkäyttää putkea ja välittääcompleted-lipun; -
Otsikko sisältää joko ✅-emojin tai ei, riippuen tehtävän tilasta.
Tämänkaltaisten putkien käyttö auttaa pitämään mallipohjat selkeinä ja luettavina sekä siirtää muotoilulogiikan uudelleenkäytettävään ja testattavaan koodiin.
Kiitos palautteestasi!