最初のページが別のコンポーネントでビルドされているアプリケーションがあります。ページのload(main.js)にuserStoreインスタンスを作成していますuserStore私のヘッダーでは、ユーザーのfirstnameを取得し、ヘッダーセクションに表示します。明示的なインスタンスを作成せずにExtjsストアを呼び出す方法
Ext.create('store.User', {
storeId : 'storeUser'
});
Ext.define('OnlineApp.view.Main', {
extend : 'Ext.panel.Panel',
xtype : 'app-main',
requires : [
'Ext.plugin.Viewport'
],
controller : 'main',
viewModel : 'main',
layout : 'border',
padding : '0 0 0 0',
bodyStyle : 'border:0',
items : [
{
xtype : 'appHeader',
region : 'north'
},
{
xtype : 'tabpanel',
region : 'center',
bodyPadding : 0,
id : 'contentPanel',
reference : 'contentPanel',
layout : 'card',
border : false,
scrollable : true,
tabBar : {
hidden : true
},
items : [
firstPage,
contentFrame,
],
},
{
xtype : 'footer',
region : 'south'
}
]
});
** This is a Header file where I am trying to use the store below. Not sure what could be the best way to call store without creating a instance.**
Ext.define('OnlineApp.view.Header', {
extend: 'Ext.container.Container',
xtype : 'appHeader',
id : 'main-header',
height : 100,
layout : {
type : 'hbox',
align : 'middle'
},
initComponent: function() {
this.items = [
{
xtype : 'container',
flex : .55,
layout : {
type: 'vbox',
align : 'right'
},
collapsible : false,
padding : 5,
items : [
{
xtype : 'container',
id : 'app-header-user',
ui : 'usp-plain-button',
layout : {
type : 'hbox',
align : 'center'
},
items : [
{
xtype : 'component',
html : 'Welcome, <b>' + Ext.getStore('storeUser').data.firstname + '</b>' **// I am trying to use the store getting fiest name as undefined.**
},
{
xtype : 'gear-menu'
}
]
},
}
];
this.callParent();
}
});
この場合、店舗に何か問題があるはずです。あなたの店舗に関するコードを追加できますか?サンプルコードでは、ストアは空です。 – pagep
はいストアが正しく定義されています。また、Ext.getStore( 'storeUser')を使用しようとしました。getAt(0).get( 'firstname')、エラーでヒットしました。私はテンプレートの提案を試みます。 (スコープ:これ、コールバック:関数(レコード、操作、成功){ var headerObj = this.items.items [1] .items.items [0]。 items.items [0]; headerObj .setHtml( 'Welcome、' + records [0] .data.firstname + '');}})); – divein
Ext.define が延びる( 'OnlineApp.store.User'、{\t \t 'Ext.data.Store' 別名\t \t 'store.User' モデル\t \t 'OnlineApp.model.User' 、 autoLoad \t:true }); – divein