Android mvvm中view调用viewModel的方法是否正确
Is it right to call viewModel's method from view in Android mvvm
我正在使用 mvvm 模式构建 android 应用程序。听说view建议不要包含业务逻辑,除了UI。我想知道从视图中调用viewModel的方法是否可以。
例如,有一种方法可以将列表A添加到列表B中(列表A是用户的选择)。
fun setSelectedList(
listA: ArrayList<Something>,
listB: ArrayList<Something>
) {
listB.addAll(listA)
} //written in kotlin
此方法是从视图中调用的
这个方法应该位于视图中吗?或者应该位于 viewModel 中?
如果您希望您的数据在屏幕旋转等配置更改后仍然存在,那么您应该将修改或存储数据的方法放在 ViewModel
中,然后在需要时从您的视图中调用该方法。您可以参考 this 了解更多信息。
我正在使用 mvvm 模式构建 android 应用程序。听说view建议不要包含业务逻辑,除了UI。我想知道从视图中调用viewModel的方法是否可以。
例如,有一种方法可以将列表A添加到列表B中(列表A是用户的选择)。
fun setSelectedList(
listA: ArrayList<Something>,
listB: ArrayList<Something>
) {
listB.addAll(listA)
} //written in kotlin
此方法是从视图中调用的
这个方法应该位于视图中吗?或者应该位于 viewModel 中?
如果您希望您的数据在屏幕旋转等配置更改后仍然存在,那么您应该将修改或存储数据的方法放在 ViewModel
中,然后在需要时从您的视图中调用该方法。您可以参考 this 了解更多信息。