我是EXTJS 6和MVVM的新手,我不确定我是否正确理解了这些内容。请帮助我了解这个基本示例,以及这是否是在MVVM体系结构中执行操作的正确方法
我从通过 Sencha cmd创建示例应用程序开始。我看到它在/view/main/MainModel. js中创建了一个名为loremIpsum的“变量”。我看到在主视图中有一些到loremIpsum的绑定。
我想我的问题是,如果我想创建第二个视图,比如从主视图创建一个弹出窗口,我如何从Main的viewModel访问loremIpsum?
我很困惑,我是否应该“共享”Main的viewModel,或者我是否应该将loremIpsum移动到model/Base.js,我猜这将是一个共享模型,然后我可以让多个viewModel查看该视图?
1条答案
按热度按时间kg7wmglp1#
什么是MVVM?
模型-视图-视图模型(MVVM)是另一种编写软件的架构模式,它主要基于MVC模式。MVC和MVVM之间的主要区别在于MVVM具有一个视图的抽象(ViewModel),它管理模型数据和该数据的视图表示之间的更改(即数据绑定)--在传统的MVC应用程序中管理起来通常很麻烦。MVVM模式试图利用MVC的架构优势(功能职责的分离)还提供了数据绑定的额外优势。结果是模型和框架执行尽可能多的工作,最小化(在某些情况下消除)直接操纵视图的应用程序逻辑。
MVVM模式的元素包括:
MVVM:示例
在这个FIDDLE中,我用
grid
和window
创建了一个演示。我希望这能帮助你理解MVVM的概念。代码片段