本文共 1155 字,大约阅读时间需要 3 分钟。
Form.js //可视控件类
Model.js //控件的模型类
Controller.js //控件的控制类
Ext.define('application.view.mvvm.Form', { extend : 'Ext.form.Panel', xtype : 'mvvm-form', viewModel : 'mvvm-model', controller : 'mvvm-controller', title : 'MVVM Form', bodyPadding : 5, layout : 'vbox', defaults : { anchor : '100%', labelAlign : 'right', allowBlank : false }, defaultType : 'textfield', items : [{ name : 'name', bind : { fieldLabel : '{name}' } }, { name : 'age', bind : { fieldLabel : '{age}' } }], buttons : [{ text : 'Reset', handler : 'ResetForm' }, { text : 'Save', handler : 'SaveForm' }]})
Ext.define('application.view.mvvm.Model', { extend : 'Ext.app.ViewModel', alias : 'viewmodel.mvvm-model', data : { name : "Name", age : "Age" }})
Ext.define('application.view.mvvm.Controller', { extend : 'Ext.app.ViewController', alias : 'controller.mvvm-controller', SaveForm : function(button, e) { Ext.Msg.alert('Message', Ext.JSON.encode(this.getView().getValues())); }, ResetForm : function(button, e) { this.getView().reset(); }})