[ExtJS5学习笔记]第十六节 Extjs5使用panel新增的ViewModel属性绑定数据

简介:

sencha官方API: http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.panel.Panel-cfg-viewModel

本文作者:sushengmiyan

------------------------------------------------------------------------------------------------------------------------------------


   Sencha ext js 5之前的版本中是没有viewmodel这个概念的,现在extjs5既然支持mvvm模式了,那么她的组件也就相应的增加了对mvvm的默认支持。现在看看我们经常使用的panel组件对mvvm模式的强大支持。

  先看看文档对panel的viewmodel属性的定义:

viewModel : String/Object/Ext.app.ViewModel

The ViewModel is a data provider for this component and its children. The data contained in the ViewModel is typically used by adding bind configs to the components that want present or edit this data.
When set, the ViewModel is created and links to any inherited viewModel instance from an ancestor container as the "parent". The ViewModel hierarchy, once established, only supports creation or destruction of children. The parent of a ViewModel cannot be changed on the fly.
If this is a root-level ViewModel, the data model connection is made to this component's associated Data Session. This is determined by calling getInheritedSession.

Defaults to: {$value: null, lazy: true}
将上述信息翻译一下如下:

viewModel:属性可以设置为字符串String或者Object对象或者是Ext.app.ViewModel

ViewModel是这个组件和子构件的数据提供者,ViewModel中包含的数据典型的使用方法就是增加bind配置到想呈现或者编辑数据的组件上。

当设置好了,viewmodel就创建并连接到继承层次上任何父组件,一旦创建,父组件就无法更改子构件。

如果是根viewmodel,datamodel就关联到数据节点,这有获取继承节点来决定。

默认:{$value:null, lazy:true}


简单说,就是当你想在panle中获取其他model的data中的数据的时候,就需要制定viewmodel,这有就可以从viewmodel中获取数据啦。


相关文章
|
JavaScript 数据库
EasyUI_datagrid实现动态加载列并为其绑定数据
EasyUI_datagrid实现动态加载列并为其绑定数据
653 0
|
前端开发
前端学习案例-手动封装element-ui里面的button组件
前端学习案例-手动封装element-ui里面的button组件
132 0
|
JSON 前端开发 数据格式
新手学EasyUI(七)----DataGrid CheckBox 动态选中
<div class="markdown_views"> <p>先上一张图:</p> <p><img src="http://img.blog.csdn.net/20151110213959602" alt="这里写图片描述" title=""></p> <p>下面说一下具体实现的功能是什么样的。</p> <p>页面首次加载的时候,右面的表格中的CheckBox都处于未选
2150 0