网上到处流传着cairngorm view部分的用法,如下
- View 部分
再来看看View中都有什么。View中有ViewHelper和ViewLocator。
ViewLocator是一个单例类,用于统一管理和获取ViewHelper。类似于ServiceLocator,和FrontController,在这里可以注册多个ViewHelper,并通过关键字直接找到需要的ViewHelper实例。
ViewHelper是具体用来操作某个视图的类,它是通过其成员变量view来引用到具体的视图,当它被实例化的时候就会在ViewLocator中注册一个ViewHelper
如:
<viewhelper:ListViewHelper />
将实例化一个ViewHelper,并在ViewLocator中注册一个名为listViewHelper的ViewHelper实例,通过该id可以得到其实例的引用,如:
var listViewHelper:ViewHelper = (ViewHelper )ViewLocator.getInstance().getViewHelper(”listViewHelper”)
其中<viewhelper:ListViewHelper />甚是让我费解,通过测试,其用法如下
xmlns:viewhelper="com.adobe.cairngorm.view.*" <viewhelper:ViewHelper id="appMainFrame"/>
页面上加入这两行代码,至于加在什么位置,写过mxml的人应该很清楚。
在command中获取这个页面
private var mainFrame:ViewHelper = ViewLocator.getInstance().getViewHelper("appMainFrame");
天有不测风云,前不久做过测试,上面的写法没有问题。今天居然不能获取到注册的页面,究其原因,待有时间再整!google 离开了,试着用baidu搜索,发现此解决方案:
thanks : http://blog.csdn.net/turkeyzhou/archive/2010/02/22/5317205.aspx