你可能想要使用一个视图港, 把中区变成一个集装箱。
中区集装箱通常配有卡片或标签布局。
当用户浏览到新视图( commonent) 时, 您会将该视图添加到容器中, 并激活它 。
最大的错误是先更改 URL。 您不想这样做 。
您想要导航, 如果导航成功, 然后设置 URL 。 您可能不应该使用 ExtJS 历史 组件, 因为它被错误地执行 。 我建议使用 HTML5 推进状态 。
您应该确保您的导航系统在不更改 URL 栏的情况下工作 。
我建议阅读关于微软棱晶、WPF和银光导航的论文,
http://msdn.microsoft.com/en-us/library/gg430881(v=pandp.40).aspx
以下是导航过程的例子:
navigationContext = {
fragment: contacts/5 ,
xtype: contacts-form ,
parameters:{
id: 5
}
}
备选案文:如果使用表格:
从导航区域( 您的中心区域) 获取活动项。 如果存在, 请调用 < code> confirmedNavigation Request( 回召) code > 。 您需要添加此方法或事件 。
如果 回召( true)
, 继续导航。 这样用户就可以取消导航, 如果表单是“ 脏” 的话 。
十二、在《任择议定书》下
- the easy way is to then create a new
widget
of navigationContext.xtype
, add it to the navigation region, then call setActiveItem(widget)
. destroy the previous active item if it existed.
然后调用 history.pushstate( 无效、 无效、 导航comtext. fraftgment) code> (null, null, null, 导航comtext. fraftgment)
。
然后在视图上提出一个导航事件,通过上下文,然后从该视图上加载数据。
更先进的设想方案包括:
如果您希望返回, 则保持上一个部件的活性。 添加一个保存活性属性, 如果是, 在容器中添加新部件时不要销毁 。
搜索容器并询问每个部件是否想要处理当前的导航请求(例如,如果在您的导航区域已经隐藏了装有联系人-5的表格,或者如果您想要重新使用表格)