knockoutjs中的MVVM在哪里?

use*_*384 0 javascript mvvm knockout.js

也许是一个愚蠢的问题,但是knockoutjs的文档告诉我们,knockoutjs是一个MVVM框架.

我能看到的是有一个viewmodel(一个javascript对象),一个html模板,一个视图,以及对viewmodel的绑定(使用observables).

但为什么它被称为MVVM框架?我只能看到MVVM的"MV".

And*_*ers 5

MVVM代表Model View ViewModel

Model ViewModel View MVMV是一个更好的名称,但不是很流畅.

模型是从服务器获得的数据,它通常非常类似于来自数据库或其他数据源的域实体.

它在客户端上转换为ViewModel,该ViewModel经过优化,可以更好地针对View进行数据绑定.

编辑:对于某些模型,{ name: "foo", id: 1 }您永远不会将其转换为ViewModel,您只需直接绑定它.然后,您可以说模型同时充当模型和ViewModel