Egyszerű és érthető a polimerről

Alexey Tankayan
Webfejlesztő

Egyszerű és érthető a polimerről

Első felismerés!

Iratkozzon fel hírlevelünkre és szerezzen be először a legfrissebb híreket

Szóval, kezdjük el. Kétféle kötési jelölés létezik:

  1. Az egyirányú jelölés ('[[]]' - lehetővé teszi, hogy adatátvitelét a fogadóról a gyermekre, de soha ne adja át a gyermeket a gazdagépnek.
  2. Kétirányú jelölés ('>') - lehetővé teszi, hogy adatátvitel a fogadóról a gyermekre és fordítva.

Kiderül, mi történik, ha a Polymer ezzel a megjegyzéssel dolgozik.

Amikor egy összetevő regisztrálva van, a Polymer beolvassa az összetevő sabloncímke tartalmát, és azon belül azonosítja azokat az elemeket, amelyek kötelező megjegyzésekkel rendelkeznek. Ezután a Polymer létrehozza az úgynevezett "tulajdonsághatásokat" minden elemhez. A tulajdonsághatás olyan objektum, amely információkat tartalmaz arról, hogy mely elemre frissüljön, amikor az ingatlantulajdon értéke megváltozik. a kötelező megjegyzésben meghatározott.

Például erre a komponensre a Polimer létrehoz egy tulajdonság-effektust a span elemhez és egy másik tulajdonság-effektust a bemeneti elemhez. Minden létrehozott tulajdonság-effektet egy tömbben tárolnak, amely a műveletek végrehajtásakor végrehajtandó műveletek listája.

Láthatja, hogy ezek a tulajdonsághatások. a _propertyEffects összetevő magán tulajdonával.

Egyszerű és érthető a polimerről

A tulajdonsághatások létrehozása mellett. A polimer is létrehoz valamit, mint egy ingatlan-szetter. Ebben a szettben az úgynevezett "piszkos ellenõrzés" kerül végrehajtásra, vagyis ellenõrzi, hogy egyáltalán megváltozott-e az ingatlan értéke.

Úgy néz ki valami ilyesmit (a polimer leírja a beállítók látszatát, és ez egy kicsit másképp van, itt és alul ezek a formák a megértés megkönnyítése érdekében):

__data__ egy privát változó, ahol az elem tulajdonságértékét tároljuk. Ha a tulajdonság értéke megváltozott, akkor az új érték mentése után __data__. minden tulajdonsághatás megkerül, és megfelelő műveleteket hajt végre, hogy frissítse az elemhez tartozó elemeket a kötelező jelölések használatával.

Most nézzük meg, mi történik, ha megadunk egy megfigyelőt az ingatlanhoz, és hozzáadjuk az értesítési zászlót az értékhez:

Valójában nem fog megtörténni mágia. Piszkos ellenõrzés és tulajdonsághatások végrehajtása után. A funkció megfigyelőt hívják. Ezután elküldi az eseményt, amely értesíti az ingatlan változását.

Vessünk közelebbről, hogy mi a bejelentő zászló. Minden alkalommal, amikor igaznak állítottuk. A szetterben lévő polimer egy olyan eseményt ad hozzá, amely megmagyarázza a többi összetevőnek, hogy a tulajdonság megváltozott. Ezt az eseményt mindig "% propertyname% -changed" néven fogják nevezni, és tárolja az új tulajdonság értékét. A tulajdonságok létrehozása után a Polymer is ellenőrzi, hogy a tulajdonság (mi esetünkben demó) a másik összetevő tulajdonságával társul-e (esetünkben ez az x-input összetevő érték tulajdonsága). Ebben az esetben egy összetevőn belül létrejön egy kezelő, amely figyeli az értéket megváltoztató eseményt. amely megváltoztatja a demo értékét. amelyhez az x-input összetevő érték tulajdonsága társult.

Ha az egyirányú jelölést az összetevő sablonjában használjuk:

Ebben az esetben a Polymer egyszerűen nem hoz létre egy kezelőt, aki hallgatja az "érték megváltozott" eseményt.

Ha a tulajdonsághoz adja meg a flag onlyOnly értéket:

Ezután a Polymer egyszerűen nem hoz létre public setter-et, így ez a tulajdonság nem változik kívülről, hanem egy privát szetter kerül létrehozásra, hogy kezelni tudja a komponensen belüli változásokat.

Alexey Tankayan
Webfejlesztő

Kapcsolódó cikkek