Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kokie skirtumai tarp reikalingo naudojimo ir bindrqued in mVvmcross


Kokie skirtumai tarp reikalingo naudojimo ir bindrqued in mVvmcross


MVVMCROSS, reikalingos ir „BindRequired“ terminai nėra tiesiogiai taikomi, nes yra ASP.NET branduolyje. Tačiau supratimas apie jų vaidmenis ASP.NET branduolyje gali padėti išsiaiškinti, kaip panašios sąvokos gali būti taikomos MVVMCROSS.

ASP.NET pagrindinis kontekstas

- Reikalaujama, kad šis atributas užtikrina, kad po modelio įrišimo savybė nėra niekinė ar tuščia. Jis pirmiausia naudojamas patvirtinimo tikslais, užtikrinant, kad privalomi laukai būtų užpildyti formomis ar duomenų įvedimo scenarijais [1] [3] [6].

- „BindRequiredAtTribute“: Šis atributas užtikrina, kad įeinančių duomenų prijungimo metu yra savybė. Skirtingai nuo reikalaujamo, jis patikrina, ar nuosavybė yra užklausos duomenyse, o ne tik jos negalima [1] [3] [4].

mvvmcross kontekstas

„MVVMCross“ daugiausia dėmesio skiriama duomenų surišimui tarp „View“ ir „ViewModel“. Framewore tiesiogiai nenaudoja reikalingų ar „bindrequired“ atributų. Vietoj to, jis priklauso nuo įrišimo režimų, tokių kaip „Oneway“ ar „Twoway“, kad būtų galima valdyti duomenų sinchronizavimą tarp rodinio ir „ViewModel“ [2] [7].

- Įrišimo režimai MVVMCross:
- Vienas: duomenys teka iš „ViewModel“ į vaizdą.
- „Twoway“: duomenys teka abiem būdais tarp „View“ ir „ViewModel“. Tai yra numatytasis pasirinktinių įrišimų režimas MVVMCross [7].

Norėdami pasiekti panašų funkcionalumą, kaip ir reikalaujama, arba „Bindrqued“, „MVVMCross“, paprastai įdiegtumėte patvirtinimo logiką savo „ViewModel“ arba naudoti pasirinktinius įrišimus, kad įsitikintumėte, jog tam tikros savybės yra tinkamai atnaujinamos. Pvz., Galite naudoti „InotifyProperTyChanged“, kad praneštumėte apie „ViewModel“ pakeitimų vaizdą, užtikrindami, kad duomenys visada būtų atnaujinti [2] [8].

patvirtinimo įgyvendinimas MVVMCross

Nors „MVVMCross“ tiesiogiai nepalaiko reikalingų ar „BindRequired“, galite įdiegti patvirtinimą, patikrindami, ar nėra „ViewModel“ savybių nulinės ar tuščios vertės. Tai galima padaryti rankiniu būdu arba naudojant patvirtinimo sistemas, kurios integruoja su MVVMCross.

Santrauka

Apibendrinant galima pasakyti, kad nors reikalaujama ir „BindRequired“ yra būdingi ASP.NET branduoliui užtikrinti duomenų buvimo ir patvirtinimo užtikrinimą, MVVMCross priklauso nuo jo įrišimo mechanizmų ir pasirinktinio patvirtinimo logikos, kad būtų galima valdyti duomenų vientisumą. Jei jums reikia įsitikinti, kad „MVVMCross“ yra arba galioja tam tikri duomenys, paprastai šią logiką įgyvendintumėte savo „ViewModel“ arba per pasirinktinius įrišimus.

Citatos:
[1] https://blog.dominikasikorska.pl/required-vs-drequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-inding-arget.html
[3] https://dotnettutorials.net/lesson/bindnever-and-didrequired-attribute-in-sp-net-core-mvc/
[4] https://www.strathweb.com/2017/12/required-and-d-bindrequired-in-asp-NET-Core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/masterling-the-use-of-requiredattribute-a-detailed-comparion-of-required-vs-bindrquired-b3feaf108ef5
[7] https://stackoverflow.com/questions/41768962/mvvmcross---default-definding-mode-used-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-Briding