extjsでアプリの開発を始めています。extjsのドキュメントに記載されているように、MVCアプローチを使用しています。
ユーザーに一連のアコーディオンコントロールを提示する必要がある動的データがいくつかあります。ストアにデータがありますが、アコーディオンアイテムを動的に作成する方法がわかりません(グリッドパネルとは異なり、ストアデータメソッドがないようです)。
これが私の現在のアコーディオンビューコードです-静的アイテムを使用:
Ext.define('BP.view.induction.LeftPage', {
extend: 'Ext.Panel',
alias : 'widget.leftpage',
title: "Left Page",
layout: {
type: 'accordion',
align: 'stretch'
},
layoutConfig: {
// layout-specific configs go here
titleCollapse: true,
animate: true,
activeOnTop: true
},
items: [{
xtype: 'panel', // fake hidden panel, so all appear collapsed
hidden: true,
collapsed: false
},{
xtype: 'panel',
title: 'Panel 1',
html: 'Panel content!'
},{
xtype: 'panel',
title: 'Panel 2',
html: 'Panel content!'
},{
xtype: 'panel',
title: 'Panel 3',
html: 'Panel content!'
}]
});
上記を達成する方法についてのガイダンスをいただければ幸いです、ありがとうございます。
[編集]sraのリクエストに応えて、これが私のコントローラーです。
Ext.define('BP.controller.Induction', {
extend: 'Ext.app.Controller',
views: [
'induction.Binder'
],
stores: [
'Sections',
'Categories',
'Tasks'
],
init: function() {
console.log('Initialized Induction!');
}
});
ここで、このコントローラーが親ビューをロードし、それが次にLeftPageビューをロードすることに注意する必要があります。これにより、スコープの問題が発生するかどうかはわかりません。さらに、ご覧のとおり、複数のストアがロードされています。