2015-05-19 108 views
1

我是ExtJS的新手。我正在与ExtJS 5合作。我认为在谷歌上找到它会是一件容易的事情,但经过漫长的搜索后,我没有得到一个清晰,可以理解的答案。我想在从一个页面导航到另一个页面时传递参数,所以我可以在第二页上使用参数的值。我用下面的方法来导航到第二页:在ExtJS中传递参数

Ext.History.add('page2') 

我有我要发送分配给VAR参数,所以,如果有可能做到这一点像下面,我可以这样做:

Ext.History.add('page2?parameter=' + variable); 

更新:

我下一个页面上通过一个cookie和检索它

Ext.util.Cookies.set(cookieName, cookieValue); 
解决了这个问题

Ext.util.Cookies.get(cookieName); 
+0

你是否在寻找与[本文]相同的东西(http://stackoverflow.com/questions/30197109/secha-extjs-workspace-and-multiple-pagesapps/30198125#30198125)? – cpastore84

+0

你的问题在哪里?没有一个明确的问题,你不能得到明确的答案... – Alexander

+0

问题是:我如何将参数从一个页面传递给另一个?我试图从第一页获取信息以填充下一页。 – Rory

回答

-1

在ExtJS的5路由器是,如果你需要后退按钮的兼容性做的正确方法。 请仔细阅读 http://docs.sencha.com/extjs/5.0/application_architecture/router.html

ExtJS的应用程序通常是单页的应用,因此,当您从“页”进入“页”(其实只是面板面板),典型的URL不会改变。

至于通过参数,当你打开一个新的面板,你只需让你的控制器处理或设置param在新面板的构造函数。

请粘贴一些示例代码,也许我可以提供更准确的答案。 -DB

1

你的意思是这样的:

var itemId = record.getData()["id"]; 
Ext.History.add('item&id=' + itemId); // adding items 
Ext.getCmp('page2').getLayout().setActiveItem(1); // go to page 

您可以通过添加它history.add()内设置参数。看看 Senscha Ext.History

+0

我正在使用Ext.History.add在页面之间导航。例如,如果一个函数执行Ext.History.add('page1');它将导航到page1。该网址将成为www.example.com/#page1。我尝试在page1之后添加一个参数,如Ext.History.add('page1?id ='+ itemId);但只会导致应用程序无法识别网址,然后会显示默认/主页面。 – Rory