私は ST2.2 を使用しており、ユーザーがボタンやリスト項目などを 2 回タップすると 2 つのビューがプッシュされるという修正を適用しました。修正は次のとおりです。
Ext.define('MyApp.view.NavView', {
extend: 'Ext.navigation.View',
push: function (view) {
if(this.getActiveItem().xtype != view.xtype)
this.callParent(arguments);
else
console.warn("Prevented pushing a potentially duplicate view of xtype: " + view.xtype);
}
});
起動時に初期化された app.js で宣言されたすべてのビューを持っていたとき、これはうまくいきました。それ以来、パフォーマンスを向上させ、DOM サイズを小さくするために、すべてのビューを動的にロードするように切り替えました。つまり、app.js のビューにはメイン ビューだけが含まれていません。他のビューは初期化され、必要に応じてプッシュされます。
上記の修正は機能しなくなり、元の問題に戻りました。
また、MyApp.view.NavView を requires: に含めようとしましたが、app.js のアプリケーションでは成功しませんでした。