Я использую метод архитектуры mvc для пользовательского интерфейса, который я строю. У меня есть меню, которое я хотел бы использовать повторно и хотел бы знать, возможно ли следующее:
Структура файла:
app/
--->app.js
--->view/
--------->viewport.js
--------->Toolbar.js
--------->SaveMenu.js
viewport.js:
Ext.define('MyApp.view.Viewport', {
extend: 'Ext.container.Viewport',
layout: 'fit',
requires: [
'MyApp.view.Toolbar',
'MyApp.view.SaveMenu',
],
initComponent: function () {
this.items = {
dockedItems: [
{
dock : 'top',
xtype : 'myapptoolbar',
height : 40,
}
]
...
// more config, but this works now.
toolbar.js
Ext.define ('Myapp.view.Toolbar', {
extend : 'Ext.toolbar.Toolbar',
alias : 'widget.myapptoolbar',
items : [
{
text : 'Save',
// The following doesn't work, is there another way to achieve this?
menu : 'myappsavemenu',
}
]
});
SaveMenu.js
Ext.define ('Myapp.view.SaveMenu', {
extend : 'Ext.menu.Menu',
alias : 'widget.myappsavemenu',
items : [
{
text : 'Save as...',
}
]
});
Можно ли повторно использовать ранее определенные компоненты представления в других представлениях, и если да, то как мне это сделать?
Изменить - Забыл ошибку, выданную при использовании этой конфигурации:
Uncaught TypeError: Cannot set property 'ownerCt' of undefined