将LiveData对象公开为ViewModel的参数或者更确切地说是由成员函数调用返回?

问题描述 投票:1回答:1

通常在ViewModel中使用MutableLiveData,然后ViewModel仅向观察者公开不可变的LiveData对象。 https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects

将LiveData对象公开为ViewModel对象的参数是否更好:

val data: LiveData<String>
    get() = _data

或者更确切地说,通过调用成员函数返回它:

fun getData(): LiveData<String> {
    return _data
}

所以在第一种情况下我可以写

println(viewModel.data)

而在后者

println(viewModel.getData())
android mvvm viewmodel android-livedata mutablelivedata
1个回答
0
投票

在内部,两者基本相同。但正如@tyczj所说,第一种形式更具惯用性。所以,我更喜欢第一个。

© www.soinside.com 2019 - 2024. All rights reserved.