use*_*384 0 javascript mvvm knockout.js
也许是一个愚蠢的问题,但是knockoutjs的文档告诉我们,knockoutjs是一个MVVM框架.
我能看到的是有一个viewmodel(一个javascript对象),一个html模板,一个视图,以及对viewmodel的绑定(使用observables).
但为什么它被称为MVVM框架?我只能看到MVVM的"MV".
MVVM代表Model View ViewModel
Model ViewModel View MVMV是一个更好的名称,但不是很流畅.
模型是从服务器获得的数据,它通常非常类似于来自数据库或其他数据源的域实体.
它在客户端上转换为ViewModel,该ViewModel经过优化,可以更好地针对View进行数据绑定.
编辑:对于某些模型,{ name: "foo", id: 1 }您永远不会将其转换为ViewModel,您只需直接绑定它.然后,您可以说模型同时充当模型和ViewModel