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