This repository was archived by the owner on May 1, 2024. It is now read-only.
Releases: klemmchr/MvvmBlazor
Releases · klemmchr/MvvmBlazor
v1.1.5
v1.1.4
v1.1.3
Changes
UseMvvm()has been removed as there is no need for it any more.
Bugfixes
- Resolving a scoped service resulted in an exception. Now it's possible to also set scoped view models as a binding context.
Misc
- Removed dependency on
Microsoft.AspNetCore.Blazor.
v1.1.2
v1.1.1
v1.1.0
This update brings compatibility with .NET Core 3.0 and introduces breaking changes (as .NET Core did).
Breaking changes
- The name of the component base class has been changed from
ComponentBaseMvvmtoMvvmComponentBase. This base class provides basic functionality but does not expose any lifecycle methods. - Components need to inherit from
MvvmComponentBase<T>whereTis the type of the view model that should be set as the binding context. It will be resolved from the DI container automatically. Use@inherits MvvmComponentBase<T>in your component. - Remove any view model injections in your component where they are set as a binding context. Instead switch to the new component base class mentioned above.
- Remove the method
SetBindingContext()from your components. The binding context is now automatically resolved and set for you. - Bindings on the binding context now support LINQ expressions for the binding context. Given a view model that has the property
Forecastsyou can use this code to generate a bindingBind(x => x.Forecasts). - Remove the layout directive. The base class
LayoutComponentBaseMvvmhas been deleted as there is no further need for it. - The own implementation of
ObservableCollectionhas been removed since it's implementation isn't working any more and it is out of scope for a lightweight MVVM solution. - You now need to register the library in your DI container via
AddMvvm(). - You also need to register the library in your Application Builder. Use
UseMvvm()forIApplicationBuilderorIComponentsApplicationBuilder. - Rename
OnInit()toOnInitialized()in your view models. - Rename
OnInitAsync()toOnInitializedAsync()in your view models., - Add the parameter
bool firstRendertoOnAfterRender()andOnAfterRenderAsync()in your view models.
-ViewModelBase.Cleanup()is gone. Instead, overrideViewModelBase.Dispose(bool disposing).
Additions
ViewModelBasenow also exposesSetParametersAsync(ParameterView parameters). You can now use it from your view models.
Bugfixes
StateHasChanged()was not working. Now it will correctly rerender the component.
Misc
- The examples now contain some explanation and a Clock demonstration to illustrate how easy background updating properties work.