我正在使用 ST2.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 包含在需要:对于 app.js 中的应用程序但没有成功。