extjs6 弹出窗口 window,我第二次启动时出错 window
extjs6 popup window, error on second time I launch window
在我的 extjs6 项目中,我有一个上下文菜单按钮,我可以启动一个模式弹出窗口 window,里面有一个网格。我尝试创建它,因此它只创建一次组件,并且每次单击上下文菜单项时都不会创建 window,但我做错了。
第一次可以,第二次点击就报错
无法读取空的 属性 'viewModel'。
有人能看出我做错了什么吗?
当我到达 this.tempWindow.show()
时出现错误
VIEW,window 是弹出窗口 window,grid 是 itemcontext 菜单所在的位置
Ext.define('Window2', {
extend: 'Ext.window.Window',
xtype: 'window2',
title: 'Market Breakdown',
width: 600,
height: 600,
modal: true,
controller: 'portalRealtime-portalRealtime',
viewModel: {
type: 'portalRealtimeVM'
},
items: [{
xtype: 'grid',
title: 'hello',
width: 200,
height: 200
}]
});
xtype: 'grid',
title: 'Details',
itemId: 'detailsGridID',
bind: {
store: '{myDetailsStore}'
},
flex: 3,
margin: '5px 0px 0px 0px',
ui: 'featuredpanel-framed',
cls: 'custom-grid',
height: '100%',
collapsible: true,
collapseDirection: 'left',
listeners: {
itemcontextmenu: 'showContextMenuDetails'
},
控制器
showContextMenuDetails: function (view, rec, node, index, e) {
e.stopEvent();
this.getContextMenuDetails(rec).show().setPagePosition(e.getXY());
return false;
},
getContextMenuDetails: function (rec) {
if (!this.contextMenu) {
this.contextMenu = this.getView().add({
xtype: 'contextMenuMarketDrilldownAccount',
currentRecord: rec
});
}
return this.contextMenu;
},
onContextButtonMarketDrilldown: function (item, e) {
var menu = item.up('menu');
var rec = menu.currentRecord;
var bbSymbol = rec.get('BBSymbol');
debugger;
if (!this.tempWindow) {
this.tempWindow = this.getView().add({
xtype: 'window2',
});
}
this.tempWindow.show();
},
尝试使用您的控制器和 viewModel 正确配置 viewModel 和控制器属性。
Ext.define('Window2', {
extend: 'Ext.window.Window',
xtype: 'window2',
title: 'Market Breakdown',
width: 600,
height: 600,
modal: true,
viewModel: {
type: 'Window2' //Yout window viewModel
},
controller: 'Window2', //Your window controller,
items: [{
xtype: 'grid',
title: 'hello',
width: 200,
height: 200
}]
});
在我的 extjs6 项目中,我有一个上下文菜单按钮,我可以启动一个模式弹出窗口 window,里面有一个网格。我尝试创建它,因此它只创建一次组件,并且每次单击上下文菜单项时都不会创建 window,但我做错了。
第一次可以,第二次点击就报错 无法读取空的 属性 'viewModel'。
有人能看出我做错了什么吗?
当我到达 this.tempWindow.show()
时出现错误VIEW,window 是弹出窗口 window,grid 是 itemcontext 菜单所在的位置
Ext.define('Window2', {
extend: 'Ext.window.Window',
xtype: 'window2',
title: 'Market Breakdown',
width: 600,
height: 600,
modal: true,
controller: 'portalRealtime-portalRealtime',
viewModel: {
type: 'portalRealtimeVM'
},
items: [{
xtype: 'grid',
title: 'hello',
width: 200,
height: 200
}]
});
xtype: 'grid',
title: 'Details',
itemId: 'detailsGridID',
bind: {
store: '{myDetailsStore}'
},
flex: 3,
margin: '5px 0px 0px 0px',
ui: 'featuredpanel-framed',
cls: 'custom-grid',
height: '100%',
collapsible: true,
collapseDirection: 'left',
listeners: {
itemcontextmenu: 'showContextMenuDetails'
},
控制器
showContextMenuDetails: function (view, rec, node, index, e) {
e.stopEvent();
this.getContextMenuDetails(rec).show().setPagePosition(e.getXY());
return false;
},
getContextMenuDetails: function (rec) {
if (!this.contextMenu) {
this.contextMenu = this.getView().add({
xtype: 'contextMenuMarketDrilldownAccount',
currentRecord: rec
});
}
return this.contextMenu;
},
onContextButtonMarketDrilldown: function (item, e) {
var menu = item.up('menu');
var rec = menu.currentRecord;
var bbSymbol = rec.get('BBSymbol');
debugger;
if (!this.tempWindow) {
this.tempWindow = this.getView().add({
xtype: 'window2',
});
}
this.tempWindow.show();
},
尝试使用您的控制器和 viewModel 正确配置 viewModel 和控制器属性。
Ext.define('Window2', {
extend: 'Ext.window.Window',
xtype: 'window2',
title: 'Market Breakdown',
width: 600,
height: 600,
modal: true,
viewModel: {
type: 'Window2' //Yout window viewModel
},
controller: 'Window2', //Your window controller,
items: [{
xtype: 'grid',
title: 'hello',
width: 200,
height: 200
}]
});