itemtap のビューを変更したいのですが、それを行いました
itemtap : function(list, index, target, record, event) {
var id = index + 1;
if(id == '1'){
Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);
Ext.Viewport.add([
{ xtype: 'publishedword' }
]);
}
今、私は下の写真に示すように、ビューに適用しようとしています。ここで、最初のビューにはアイテムが取り込まれたメニューが含まれており、それらのアイテムのオンクリックで、ホームページビューを置き換えてホームページで新しいビューを開きたいです。どうすればこれを達成できますか?
下の写真のコンテナ:
Ext.define('myprj.view.Main', {
extend: 'Ext.Container',
alias: 'widget.mainmenuview',
config: {
width: 710,
margin: '10px auto 0',
layout: {
type: 'hbox'
},
defaults: {
flex: 1
},
activeItem: 1,
items: [{
flex: 1,
xtype: 'container',
cls:'wholeMenuWrap',
margin: '65px 0 0 0',
width: 170,
layout: 'vbox',
items: [
{
xtype:'menupage',
cls: 'menuPage',
docked: 'left',
},
{
xtype:'homepage',
cls: 'homePage',
//docked: 'center',
},
{
xtype:'categorypage',
cls: 'categoryPage',
docked: 'right',
},]
}]
}
});
上記のコードでは、ホームページを変更し、itemtap に関して別のビューを表示したいだけです。![firstscreen][1] この状況で上記のコードを使用すると、ビュー全体が変更されますが、itemTap に関して 2 番目のビューを変更したいだけです。ありがとうございました。
編集済み
if(id == '1'){
console.log("Value of Click--"+id);
var publishedword = { xtype: 'publishedword' };
// I am assuming active item is container, here i am getting Container object
var outerContainer = Ext.Viewport.getActiveItem(1);
// removing the second item (index start with 0)
outerContainer.down('panel').removeAt(1);
// replacing second item into publishedword
outerContainer.down('panel').insert(1, publishedword);
outerContainer.getAt(1).setActiveItem(publishedword);
}
このコードの後、下の図に示すように、公開された単語を読み込むことができます![result2][2] 今、私の単語をメニューとカテゴリの間に配置したいと考えています。上の写真では、ホームページが破壊されておらず、公開された単語の後ろに来ていることがわかります。