Extjs 视图和视图控制器之间具有继承性的MVVM
如何使用ExtJs-MVVM模式扩展视图?扩展绑定了viewcontroller的视图的正确方法是什么 我有一个带有viewcontroller的基本视图,我想扩展它,如中所示 问题是在扩展视图中不再可以访问在基本viewcontroller中定义的方法。ExtJs只在扩展viewcontroller中查找要调用的方法Extjs 视图和视图控制器之间具有继承性的MVVM,extjs,mvvm,viewcontroller,extjs6,Extjs,Mvvm,Viewcontroller,Extjs6,如何使用ExtJs-MVVM模式扩展视图?扩展绑定了viewcontroller的视图的正确方法是什么 我有一个带有viewcontroller的基本视图,我想扩展它,如中所示 问题是在扩展视图中不再可以访问在基本viewcontroller中定义的方法。ExtJs只在扩展viewcontroller中查找要调用的方法 Ext.define('Fiddle.view.Base', { extend: 'Ext.panel.Panel', requires: [ '
Ext.define('Fiddle.view.Base', {
extend: 'Ext.panel.Panel',
requires: [
'Fiddle.view.BaseController'
],
controller: 'base',
tbar: [{
text: 'Base button',
handler: 'onBaseMethod'
}]
})
Ext.define('Fiddle.view.BaseController', {
extend: 'Ext.app.ViewController',
alias: 'controller.base',
onBaseMethod: function(me){
Ext.Msg.alert('Base', 'Base method')
}
})
Ext.define('Fiddle.view.Extended', {
extend: 'Fiddle.view.Base',
requires: ['Fiddle.view.ExtendedController'],
controller: 'extended',
title: 'Viewcontroller inheritance',
bodyPadding: 5,
html: 'The Base button does not work, because the method is searched in ExtendedController only.',
bbar: [{
text: 'Extended button',
handler: 'onExtendedMethod'
}]
})
Ext.define('Fiddle.view.ExtendedController', {
extend: 'Ext.app.ViewController',
alias: 'controller.extended',
onExtendedMethod: function(me){
Ext.Msg.alert('Extended', 'Extended method')
},
renderTo: Ext.getBody()
})
您只需使用onExtendedMethod方法扩展“Fiddle.view.BaseController”。 看到小提琴了吗 明确地说:只需替换
Ext.define('Fiddle.view.ExtendedController', {
extend: 'Ext.app.ViewController',
与
为什么不想用onExtendedMethod方法扩展“Fiddle.view.BaseController”@谢谢,这很明显。我只是在几个小时内找不到。把它贴出来作为回答,我会接受的。
Ext.define('Fiddle.view.ExtendedController', {
extend: 'Fiddle.view.BaseController',