ExtJs Back Fwd Buttons

时间:2011-05-06 19:48:59

标签: codeigniter user-interface extjs uinavigationcontroller

过去我开发了大型extjs单页应用程序。许多用户因无法使用Back或Fwd按钮或重新加载页面而感到沮丧。我还想警告用户他们是否在没有完成工作流程的情况下离开页面,并使用户能够直接访问特定视图。

对于下一个应用程序,我正在考虑使用Codeigniter php MVC框架。有可能与此example类似。我一直在想着导航。如果我为每个视图加载ExtJs,这是一个显着的减速。 如何最好地接近这个?

1 个答案:

答案 0 :(得分:3)

查看Ext.History类(Ext4上的Ext.util.History)。有了它,您可以注册侦听器以更改哈希:

Ext.History.on('change', function( token ) {
    console.log('token changed to: ', token);
});

Ext.History单例包括用于从客户端代码中触发导航的forward()和back()方法。

通过仅更改URL的哈希部分,浏览器保持在同一页面上,从而无需重新加载Ext库。

这将如何与您的PHP框架集成我不能说。我不熟悉CodeIgniter,你的示例链接进入死页。

另外,请注意一下使用History的警告,在Ext3下,至少它可能会给你带来更新浏览器的问题。如果是这种情况,另一种方法是使用'hashchange'浏览器事件编写您自己的类历史记录解决方案,如this answer所示。