ExtJS:使用URL维护组件的状态

时间:2015-04-08 13:49:34

标签: extjs extjs5

我正在处理单页ExtJS应用程序。该应用程序的问题是每当用户刷新屏幕时,它都会返回其初始状态。所需要的是打开的任何组件都应保持打开状态。例如,如果我正在处理窗口并刷新屏幕,则应再次打开该窗口。应该采取什么步骤来实现这一目标?

我最初的想法是,如果我可以设法在网址中添加组件(在本例中为窗口)id或其他内容(例如www.example.com/index.html!#windowservices)单击一个按钮,然后在页面加载时使用URL(!#windowservices)打开该组件。这可能吗?是否可以修改URL(即使我必须进行虚假的ajax调用)?有人能指出我修改URL并保存在浏览器历史记录中的任何示例吗?

2 个答案:

答案 0 :(得分:3)

有两件事,两者都已经在Ext中有一些基础设施,你可以/应该利用:状态和路由。 State有助于保持窗口大小和位置,网格排序顺序或类似持久性。路由可帮助您直接从URL导航到应用程序的特定屏幕。请参阅Sencha文档和http://extjs.eu/examples以获取更多信息和示例和/或根据需要随时询问。

答案 1 :(得分:0)

但是你为什么要手动进行这种控制呢? AngularJS避免你需要担心,只需在你的应用程序中注入ngRoute,定义你的路线并发生魔法......

AngularJS: https://angularjs.org/

ngRoute: https://docs.angularjs.org/api/ngRoute

开始路线和模板: https://scotch.io/tutorials/single-page-apps-with-angularjs-routing-and-templating

使用AngularJS构建: https://builtwith.angularjs.org/