之前在一些文章都介绍过viewModel,一个页面状态控制机
、 [ExtJS] viewModel绑定监听方法 控件动态绑定方法、 [ExtJS]全局viewModel教程
有了它后,我们可以很方便地控制页面控件的隐藏显示,信息展示等。
但是,对于viewModel在深究一下,会发现一些问题:
viewModel机制
一般我们会在一个父类 或 同类中设置一个viewModel
{
viewModel:{
data:{
key:value//key value形式设置值
}
}
}
然后,控件通过bind的方式 进行绑定viewModel里的key
{
xtype:'控件别名',
bind:{
控件具有bindalbe的属性:'{key}'//或使用 '{key!='aa'}'等运算式
}
}
当ExtJS进行渲染时,只要是有控件使用bind,且bind的key在某层 viewModel内,在viewModel对象就会生成一个bingding对象