Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross에서 필요한 사용과 바인딩 사용의 차이점은 무엇입니까?


MVVMCross에서 필요한 사용과 바인딩 사용의 차이점은 무엇입니까?


MVVMCross에서는 ASP.NET Core에 있으므로 필요한 용어와 바인딩 용어는 직접적으로 적용되지 않습니다. 그러나 ASP.NET Core에서 그들의 역할을 이해하면 MVVMCross에서 유사한 개념이 어떻게 적용될 수 있는지를 명확히하는 데 도움이 될 수 있습니다.

asp.net Core 컨텍스트

- 필수 입력 :이 속성은 모델 바인딩이 발생한 후 속성이 널 또는 비어 있지 않도록합니다. 그것은 의무 필드가 양식 또는 데이터 입력 시나리오로 채워 지도록 보장하는 유효성 검사 목적으로 주로 사용됩니다 [1] [3] [6].

- BindRequiredAttribute :이 속성은 모델 바인딩 중에 들어오는 데이터에 속성이 존재하도록합니다. 필요한 것과는 달리, 요청 데이터에 부동산이 있는지 확인합니다. [1] [3] [4].

mvvmcross 컨텍스트

MVVMCross에서는보기와 뷰 모델 사이의 데이터 바인딩에 중점을 둡니다. 프레임 워크는 필수 또는 바인딩 된 속성을 직접 사용하지 않습니다. 대신, 뷰와 뷰 모델 사이의 데이터 동기화를 관리하기 위해 Oneway 또는 Twoway와 같은 바인딩 모드에 의존합니다 [2] [7].

-MVVMCross의 바인딩 모드 :
- Oneway : 데이터는 뷰 모델에서 뷰로 흐릅니다.
- Twoway : 데이터는보기와 뷰 모델 사이의 두 가지 방식으로 흐릅니다. 이것은 mvvmcross [7]의 사용자 정의 바인딩의 기본 모드입니다.

MVVMCross에서 필요한 또는 bindRequired와 유사한 기능을 달성하려면 일반적으로 ViewModel 내에서 유효성 검사 로직을 구현하거나 사용자 정의 바인딩을 사용하여 특정 속성이 올바르게 업데이트되도록합니다. 예를 들어, inotifyPropertyChanged를 사용하여 뷰 모델의 변경 사항을 알리고 데이터가 항상 최신 상태인지 확인할 수 있습니다 [2] [8].

mvvmcross에서 유효성 검사 구현

MVVMCross는 필요하거나 바인딩 된 직접 지원하지 않지만 ViewModel의 속성 내에서 NULL 또는 빈 값을 확인하여 유효성 검사를 구현할 수 있습니다. 이는 수동으로 수행하거나 MVVMCross와 통합되는 검증 프레임 워크를 사용하여 수행 할 수 있습니다.

요약

요약하면, 필요하고 바인딩 된 것은 데이터의 존재 및 검증을 위해 ASP.NET Core에만 국한되지만 MVVMCross는 바인딩 메커니즘 및 사용자 정의 검증 로직에 의존하여 데이터 무결성을 관리합니다. MVVMCross에 특정 데이터가 존재하거나 유효한지 확인 해야하는 경우 일반적으로 ViewModel 내에서 또는 사용자 정의 바인딩을 통해이 논리를 구현합니다.

인용 :
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3] https://dotnettutorials.net/lesson/bindnever-and-bindrequired-attrice-in-asp-core-mvc/
[4] https://www.stratheweb.com/2017/12/required-and-bindrequired-in-asp-core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mas
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-us-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding