历史管理:
默认支持历史管理的组件有Accordion 、TabNavigator 、TabBar 以及ViewStack派生的组件
只需设置historyManagementEnabled 属性为true 即可
深度链接:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="onCreationComplete()" >
<mx:Script>
<![CDATA[
import mx.events.BrowserChangeEvent;
import mx.managers.IBrowserManager;
import mx.managers.BrowserManager;
import mx.utils.URLUtil;
private var bm:IBrowserManager
private function onCreationComplete():void
{
// 取得browser manager单例
bm = BrowserManager.getInstance();
// 初始化BrowserManager
bm.init();
// 根据url参数初始化值
updateValues();
// 注册浏览器更改URL事件侦听器
bm.addEventListener( BrowserChangeEvent.BROWSER_URL_CHANGE, onURLChange );
}
private function updateValues():void
{
// 根据url片段更改文本输入框的值
var o:Object = URLUtil.stringToObject(bm.fragment);
firstName.text = o.firstName;
lastName.text = o.lastName;
}
private function updateURL():void
{
// 更改浏览器中“#”后面的URL片段。
bm.setFragment( "firstName=" + firstName.text + ";lastName=" + lastName.text );
}
private function onURLChange( event : BrowserChangeEvent ):void
{
//当浏览器更改URL时调度
updateValues();
}
]]>
</mx:Script>
<mx:TextInput x="10" y="10" id="firstName" change="updateURL()" />
<mx:TextInput x="10" y="40" id="lastName" change="updateURL()" />
</mx:Application>
本文介绍了Adobe Flex中实现历史管理和深度链接的方法。通过设置组件属性启用历史管理,并利用BrowserManager进行URL监听与更新,实现页面状态的保存及通过URL直接访问特定状态。
192

被折叠的 条评论
为什么被折叠?



