我在我的应用程序中使用Extjs-6的MVVM 架构。我有如下控制器(注意):extend: 'Ext.app.Controller'
Ext.define('App.controller.gt.Point', {
extend: 'Ext.app.Controller',
myProp: {
x: 'x',
y: 'y'
},
init: function()
{
...
},
activateDrawing: function()
{
...
// I want to send myProp to 'App.view.gt.Point' view and
// it(myProp) use binding
var pointWin = Ext.create('App.view.gt.Point', {});
}
});
如果activateDrawing
被调用,控制器会显示一个窗口(App.view.gt.Point
视图)。这个窗口类如下:
Ext.define('App.view.gt.Point', {
extend: 'Ext.window.Window',
...
controller: 'gt-point',
viewModel: 'gt-point',
items: [{
xtype: 'form',
items: [{
xtype: 'numberfield',
fieldLabel: 'X',
/*
* I want to bind the numberfield with myProp.x
*/
bind: '{myProp.x}',
}, {
xtype: 'numberfield',
fieldLabel: 'Y',
/*
* I want to bind the numberfield with myProp.y
*/
bind: '{myProp.y}',
}]
}],
buttons: [{text: 'OK', action: 'OK', handler: 'onOk'}],
...
});
如果 numberfieldsx
和y
被更改,我想自动更改myProb.x
和myProb.y
. 如何实现这个问题?