私は1つの共通のビューを実行しました。このビューは、すべてのページで必要です。だから私が必要なところはどこでも、私はxtypeのこのビューを呼んでいます。この共通ビュー内には、id値で定義されたいくつかのコンポーネントがあります。
要件はページによって異なるため、一般的なビューからいくつかのボタンを非表示にする必要があり、再度表示する必要があります。これらの活動はページによって異なります。最初の起動時に画面が表示されます。別のページに移動すると、 Ext.AbstractManager.register()のようなエラーが表示されます。このマネージャーに重複ID「btnLogout」を登録しています。
componetsid値をname値またはitemId値に変更した場合。その後、正常にナビゲートしますが、未定義のsysntaxの表示はvar a = Ext.getCmp('btnBackID');であるため、問題はボタンを非表示および表示できません。console.log(a);、未定義になります。コンポーネントがオブジェクトとして戻ったら、表示機能を非表示にすることができます。
誰かがこの問題をどのように解決するかを教えてもらえますか?どうもありがとうございました。ありがとうございました。私は以下に私のコードを与えました
共通ビュー
Ext.define('abc.view.GlobalNavigationView', {
extend:'Ext.panel.Panel',
alias:'widget.globalNavigationView',
id:'globalNavigationId',
layout: {
type: 'vbox',
align:'stretch'
},
items:
[
{
xtype: 'toolbar',
layout: 'hbox',
flex: 1,
items:
[
{
xtype: 'button',
flex: .1,
text: 'Back',
id: 'btnBackID',
},
{
xtype: 'button',
flex:.1,
id: 'btnSave',
cls: 'saveCls'
},
{
xtype: 'button',
flex:.1,
id: 'btnEmail',
text: 'Email'
},
{
xtype: 'button',
flex:.1,
id: 'btnPrint',
text: 'Print'
},
{
xtype: 'button',
flex:.1,
itemId: 'btnFilter',
text: 'Filter'
},
{
xtype: 'button',
flex:.1,
id: 'btnLogout',
cls: 'logoutCls'
}
]
}
]
});
HomeView1
Ext.define('GulfMark.view.WeeklyHomeView1', {
extend:'Ext.panel.Panel',
alias:'widget.weeklyfcastView',
id:'weeklyfcastId',
layout: 'fit',
items:
[
{
xtype: 'globalNavigationView',
id: 'globalNavigationWeekly1',
flex: 1,
docked:"top",
scrollable:false
},
{
my componets of this view
.........................
}
]
});
HomeView2
Ext.define('GulfMark.view.WeeklyHomeView1', {
extend:'Ext.panel.Panel',
alias:'widget.weeklyfcastView',
id:'weeklyfcastId',
layout: 'fit',
items:
[
{
xtype: 'globalNavigationView',
id: 'globalNavigationWeekly2',
flex: 1,
docked:"top",
scrollable:false
},
{
my componets of this view
-----------------------
}
]
});
コントローラーコード:
init:function(){
this.control({
'globalNavigationView ':{
click:this.onbtnBackClick,
render: this.onbtnBackrender,
},
'weeklyfcastView':{
show:this.onShowweeklyfcastView,
render:this.onRenderweeklyfcastView
}
});
},
onShowweeklyfcastView: function(){
var btnFilter = Ext.getCmp('btnFilter');
console.log(btnFilter); // if i used components id to name or itemId, here will show undefined
btnFilter.setHidden(true);
//btnFilter .hide();
}