我是 knockout.js 的新手。不久前我读到了 ko 的标题特征。
我不明白ko真的是MVVVM吗?因为他们谈论的只是数据绑定及其易用性。但我确信 MVVM 不仅仅是数据绑定,不是吗?
是的,knockout.js 确实应用了 MVVM 模式。文档中有解释 http://knockoutjs.com/documentation/observables.html#mvvm_and_view_models:
A model:您的应用程序存储的数据。该数据代表业务领域中的对象和操作(例如,可以执行转账的银行账户),并且独立于任何 UI。使用 KO 时,您通常会对某些服务器端代码进行 Ajax 调用来读取和写入此存储的模型数据。
-
A 查看模型:UI 上数据和操作的纯代码表示。例如,如果您正在实现一个列表编辑器,您的视图模型将是一个包含项目列表的对象,并公开添加和删除项目的方法。
请注意,这不是 UI 本身:它没有任何按钮或显示样式的概念。它也不是持久数据模型 - 它保存用户正在使用的未保存的数据。使用 KO 时,您的视图模型是纯 JavaScript 对象,不具备 HTML 知识。以这种方式保持视图模型抽象可以让它保持简单,这样您就可以管理更复杂的行为而不会迷失方向。
-
A view:表示视图模型状态的可见的交互式 UI。它显示来自视图模型的信息,向视图模型发送命令(例如,当用户单击按钮时),并在视图模型的状态发生变化时进行更新。
使用 KO 时,您的视图只是带有声明性绑定的 HTML 文档,用于将其链接到视图模型。或者,您可以使用使用视图模型中的数据生成 HTML 的模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)