定义视图类,用Ext.define('xxx',{}),
定义视图类的成员变量,用config:{xxx:123},
定义视图类和vm中的绑定关系,用bind:{xxx:'{yyy}'},yyy指向vm中的data属性的yyy变量
双向绑定视图类和vm中的变量,用publishes:‘xxx’,将xxx和yyy作双向绑定
双向绑定后,需要注意,变量的传递方向是:视图到vm是自动更新的,但是vm到视图的不会自动更新,需要手工vm.notify()
可以理解为数据按从上到下(视图->vm)的方向传递是自动的,但从下往上(vm>视图-)的传递,需要手工触发
例子:
Ext.define('MyApp.viewModel.Test',{
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.test',
data:{serverPathDat>:''}
});
Ext.define('MyApp.view.TestField',{
extend: 'Ext.form.field.Text',
xtype:'TestField',
viewModel:{type:'test'},
config:{serverPath:null},
publishes:'serverPath',
bind:{
serverPath:'{serverPathData}',
fieldLabel:'label