diff --git a/03-UnrealEngine/UI/UE5 MVVM 笔记.md b/03-UnrealEngine/UI/UE5 MVVM 笔记.md index 4f8a182..fdf5bab 100644 --- a/03-UnrealEngine/UI/UE5 MVVM 笔记.md +++ b/03-UnrealEngine/UI/UE5 MVVM 笔记.md @@ -98,14 +98,15 @@ ViewModels管理器位于:Window -> ViewModels。 3. 修改CreationType(有4种类型)。 ## MVVM CreationType +### Manual(看设计,可以一对多) +- 默认不创建,需要业务自己调用SetViewModel来关联 +- 可以手动把 + ### Create Instance (一对一) 自动为控件的每个唯一实例创建一个新的Viewmodel实例。这意味着,如果你在视口中有同一控件的数个副本,并且你更改了其中一个副本的Viewmodel变量,则只有该控件会更新,所有其他副本将保持不变。同理,如果你创建多个使用同一Viewmodel的不同控件,这些控件都不会感知到彼此信息的变化。 **UE只会在ViewModel为空时创建新实例,ViewModel会在PreConstruct和Construct事件之间创建。** -### Manual(看设计,可以一对多) -自行创建ViewModel实例进行手动指定赋值,在赋值之前,Widget中的ViewModel一直都是空的。 - ### Global View Model Collection (全局共享) [MVVMGameSubsystem](https://zhida.zhihu.com/search?content_id=259254754&content_type=Article&match_order=1&q=MVVMGameSubsystem&zhida_source=entity)中维护了一个全局访问的ViewModel列表,可以通过任意GameInstance访问。