Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuinka MVVMCross käsittelee päivityksiä käytettäessä kertaluonteisia sitoutumista


Kuinka MVVMCross käsittelee päivityksiä käytettäessä kertaluonteisia sitoutumista


MVVMCross käsittelee päivityksiä käytettäessä kertaluonteisia sitoutumista siirtämällä tietoja ViewModelista näkymään vain kerran, kun sitoutumislähde alun perin asetetaan. Tämän alkuperäisen siirron jälkeen sidonta ei seuraa aktiivisesti muutosviestejä tai tapahtumia ViewModelista. Siksi kaikki myöhemmät muutokset ViewModel -ominaisuuteen eivät heijastu näkymässä, ellei itse sitova lähde nollata tai uudelleen.

kertaluonteisen sitoutumisen avainpisteet MVVMCross:

1. Alkuperäinen tiedonsiirto: Sidonta siirtää tietoja ViewModelista näkymään, kun sitoutuminen on ensin vahvistettu. Tämä on tyypillisesti hyödyllinen kentälle, jotka ovat konfiguroitavissa, mutta eivät muutu usein niiden asettamisen jälkeen.

2. Ei jatkuvaa seurantaa: Toisin kuin kaksisuuntaiset tai yksisuuntaiset sidokset, kertaluonteiset sidokset eivät jatkuvasti seuraa ViewModelia muutoksille. Tämä tarkoittaa, että jos ViewModel -ominaisuus muuttuu alkuperäisen sitomisen jälkeen, näkymää ei päivitetä automaattisesti.

3. Käyttötapaukset: Kertaluonteinen sidonta käytetään yleisesti skenaarioissa, joissa tiedot ovat staattisia tai harvoin muutoksia, kuten staattisen tekstin asettaminen kielitiedostoista. Kun kieli on valittu, on harvinaista, että käyttäjä muuttaa sitä usein, mikä tekee sellaisista tapauksista sopivan kertaluonteisen sitovan [1].

4. Tämä vaatii kuitenkin nimenomaista toimintaa sitoutumislähteen nollaamiseksi.

5. Dynaamisten näkemysten rajoitukset: Dynaamisissa näkymissä, kuten `mvxReCyclerview` -sovellukset käyttävät, kertaluonteiset sidokset eivät välttämättä käyttäytyy odotetusti, jos näkymät kierrätetään. Tällaisissa tapauksissa sitoutuminen voidaan arvioida uudelleen, kun näkemykset käytetään uudelleen, mikä voi johtaa odottamattomaan käyttäytymiseen [6].

Yhteenvetona voidaan todeta, että MVVMCrossin kertaluonteinen sitoutuminen on suunniteltu skenaarioihin, joissa tietoja asetetaan kerran eikä sitä tarvitse päivittää dynaamisesti. Se yksinkertaistaa sitoutumisinfrastruktuuria välttämällä ViewModel -seurannan jatkuvaa seurantaa muutoksille, mutta se vaatii manuaalista interventiota näkymän päivittämiseksi, jos ViewModel -tiedot muuttuvat alkuperäisen sitoutumisen jälkeen.

Viittaukset:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://www.mvvmcross.com/documentation/fundamentals/dependency-injection
.
.
[5] https://blog.ostebaronen.dk/2018/01/mvmcross-binding-target.html
.
[7] https://github.com/mvvmcross/mvvmcross/issues/87
.
[9.
[10.
.