arcgis flexviewer中由Application向widget传值
2024-08-26 05:37:02
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.
最新文章
- C#对于文件的读写
- Ubuntu 14.04 载入 JWS 或 访问 jsp异常的解决方法
- Struts2的使用以及Spring整合Struts2
- 二进制序列化框架easypack发布啦!
- DedeCms 5.7友情链接模块注入漏洞
- hao123 百度品专 按品类 计算 下单数量 商品数量 下单金额?
- 讲解版的自动轮播(新手福利)样式和js就不分离了为了看的方便
- docker端口映射设置
- 编程算法 - 分割数 代码(C)
- iOS 在下面 AOP 程序
- Ambari安装之部署 (Metrics Collector和 Metrics Monitor) Install Pending ...问题
- check failed status == cudnn_status_success (4 vs. 0) cudnn_status_internal_error
- svn迁移后本地地址变更及externals无效的问题
- HTML+CSS实现页面豆腐块布局和图片居中
- 看图说话,idea 远程调试 tomcat下项目
- maven配置之:<;distributionManagement>;snapshot快照库和release发布库
- Android 开创java世界(JNI Invocation API)
- oracle执行update时卡死问题的解决办法
- MySQL命令:创建数据库、插入数据
- .net core webapi+EF Core
热门文章
- 我的复杂的OpenCV编译之路(OpenCV3.1.0 + VS2010 + Win7)
- iBoxDB for .NET v1.5发布, 移动NoSQL数据库
- Gedit中文乱码
- Designing a Secure REST (Web) API without OAuth
- 在mac中自动保存git用户名与密码如此简单
- javascript中的call()和apply()方法的使用
- [ACM_图论] ZOJ 3708 [Density of Power Network 线路密度,a->;b=b->;a去重]
- 我的cookie读写
- SQL Server FileStream
- redis 内存