以终端登录举例:

    在 class TerminalLoginFragment : CustomFragment()类中新建一个顶层的viewModel

    private lateinit var viewModel: TerminalLoginViewModel

    该类型的viewModel中要新添加一些注解
    @ActivityScopedclass TerminalLoginViewModel @Inject constructor() : ViewModel()

    @ActivityScoped 表明能够被整个Activity所扫描
    @Inject 表示按照这种方式自动注入

    并且要增加你所需要的一些属性信息以及方法
    /* PIN码信息 */
    private val _keyPin = MutableLiveData()
    val keyPin: LiveData
    get() = _keyPin

    其中MutableLiveData和LiveData这两个包裹之后 可以实时的根据数据的变化刷新页面