Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 11966|Atbildi: 0

[Leņķis] leņķis2 *ngIf vs. [slēpts]

[Kopēt saiti]
Publicēts 22.05.2019 14:02:02 | | |
AngularJS 1, ja vēlaties pārslēgt DOM elementu displeja stāvokli, iespējams, izmantosiet AngularJS 1 iebūvētās komandas, piemēram, ng-show vai ng-hide:

AngularJS 1 piemērs:

Angular2 jaunā veidnes sintakse ļauj saistīt izteiksmes ar jebkuriem DOM elementu vietējiem rekvizītiem. Šī absolūti lieliskā funkcija paver bezgalīgas iespējas. Viens no tiem ir saistīt izteiksmi ar vietējo slēpto īpašību, kas ir nedaudz līdzīga ng-show, kā arī iestata displeju: nav elementam:

[slēpts] angular2 piemērs (nav ieteicams):

No pirmā acu uzmetiena šķiet, ka iepriekš minētais piemērs ir ng-show AngularJS 1. Patiesībā viņi ir! svarīgas atšķirības.

Gan ng-show, gan ng-hide kontrolē DOM elementu displeja stāvokli, izmantojot CSS klasi, ko sauc par ng-hide, kas vienkārši iestata elementu displejam: nav. Galvenais šeit ir tas, ka AngularJS 1 ir pievienots ng-hide klasei! Svarīgi, kas pielāgo klases prioritāti tā, lai tā varētu ignorēt elementa attēlojuma atribūta piešķiršanu no citiem stiliem.

Atgriežoties pie šī piemēra, pārlūkprogramma ievieš vietējā slēptā atribūta stilu. Lielākā daļa pārlūkprogrammu to neizmanto! svarīgi pielāgot tās prioritāti. Tāpēc elementa displeja stāvokļa kontrole, izmantojot [hidden]="expression", var viegli nejauši pārrakstīt ar citiem stiliem. Piemēram: ja es rakstu šādu stilu šim elementam citur, displejs: flex, tam ir prioritāte pār vietējo slēpto īpašību (skatīt šeit).

Šī iemesla dēļ mēs parasti izmantojam *ngIf, lai pārslēgtu elementa klātbūtnes stāvokli, lai sasniegtu to pašu mērķi:

*ngIf leņķa2 piemērs (ieteicams):

Atšķirībā no vietējā slēptā rekvizīta, *ngIf leņķī2 nav stila ierobežojums. Neatkarīgi no tā, kāda veida CSS jūs rakstāt, viņa ir drošībā. Tomēr joprojām ir jāpiemin, ka *ngIf nekontrolē elementa displeja stāvokli, bet tieši sasniedz attēlošanas vai nerādīšanas efektu, pievienojot/noņemot elementu no veidnes.

Protams, jūs varat arī pievienot slēpto prioritāti elementa slēptajam atribūtam, izmantojot globālo stilu, piemēram, display: none !important, lai sasniegtu šo efektu. Jūs varat jautāt, tā kā leņķa grupa zina šīs problēmas, kāpēc gan vienkārši nepievienot globālu augstākās prioritātes slēpto stilu slēptajam ietvarā? Atbilde ir tāda, ka mēs nevaram garantēt, ka globālu stilu pievienošana ir labākā izvēle visiem lietojumiem. Tā kā šī pieeja faktiski izjauc funkcionalitāti, kas balstās uz vietējām slēptajām iespējām, mēs atstājam izvēli inženieru ziņā.





Iepriekšējo:GitHub saviem projektiem pievieno atvērtā koda licenci
Nākamo:Nevar saistīties ar 'ngModel', jo tas nav zināms 'input' rekvizīts...
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com