arcgis flexviewer所有的小部件类均继承自com.esri.viewer.BaseWidget基类,而BaseWidget又继承了com.esri.viewer.IBaseWidget接口。所有的小部件又由WidgetManager类进行管理。因此,要实现从Application向widget传值,需要经由WidgetManager完成。例如,用户登录时记录了用户名,在widget中需要对用户名进行验证,可通过下述步骤将用户名(字符串)传递到所有的继承了上述小部件基类的widget中。

1、修改IBaseWidget接口文件,增加下述函数定义:

function set userName(value:String):void;
function get userName():String;

2、在基类BaseWidget中实现上述方法:

private var _username:String;

[Bindable]
public function get userName():String
{
return _username;
} public function set userName(value:String):void
{
_username = value;
}

3、按照上述方法,在WidgetManager中定义相关的变量和属性存取器,如下:

private var user_name:String;

[Bindable]
public function set userName(value:String):void
{
user_name = value;
}
[Bindable]
public function get userName():String
{
return user_name;
}

4、假设Application中(一般为主页)有一个名为userNameStr的字符串变量,在WidgetManager的MXML声明中做如下定义:

<viewer:widgetManager>
<managers:WidgetManager id="widgetManager" userName="{userNameStr}"/>
</viewer:widgetManager>

5、在WidgetManager类的createWidget函数中,在widget.map = map;语句之后添加下述代码:

widget.userName = this.userName;

6、测试。用户名为admin,在小部件中添加:

Alert.show("Widget: " + this.userName);

执行相关代码,可见到来自小部件的消息框:

DONE.

最新文章

  1. C#对于文件的读写
  2. Ubuntu 14.04 载入 JWS 或 访问 jsp异常的解决方法
  3. Struts2的使用以及Spring整合Struts2
  4. 二进制序列化框架easypack发布啦!
  5. DedeCms 5.7友情链接模块注入漏洞
  6. hao123 百度品专 按品类 计算 下单数量 商品数量 下单金额?
  7. 讲解版的自动轮播(新手福利)样式和js就不分离了为了看的方便
  8. docker端口映射设置
  9. 编程算法 - 分割数 代码(C)
  10. iOS 在下面 AOP 程序
  11. Ambari安装之部署 (Metrics Collector和 Metrics Monitor) Install Pending ...问题
  12. check failed status == cudnn_status_success (4 vs. 0) cudnn_status_internal_error
  13. svn迁移后本地地址变更及externals无效的问题
  14. HTML+CSS实现页面豆腐块布局和图片居中
  15. 看图说话,idea 远程调试 tomcat下项目
  16. maven配置之:&lt;distributionManagement&gt;snapshot快照库和release发布库
  17. Android 开创java世界(JNI Invocation API)
  18. oracle执行update时卡死问题的解决办法
  19. MySQL命令:创建数据库、插入数据
  20. .net core webapi+EF Core

热门文章

  1. 我的复杂的OpenCV编译之路(OpenCV3.1.0 + VS2010 + Win7)
  2. iBoxDB for .NET v1.5发布, 移动NoSQL数据库
  3. Gedit中文乱码
  4. Designing a Secure REST (Web) API without OAuth
  5. 在mac中自动保存git用户名与密码如此简单
  6. javascript中的call()和apply()方法的使用
  7. [ACM_图论] ZOJ 3708 [Density of Power Network 线路密度,a-&gt;b=b-&gt;a去重]
  8. 我的cookie读写
  9. SQL Server FileStream
  10. redis 内存