惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
博客园_首页
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
D
Docker
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
小众软件
小众软件
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

博客园 - yeahgis

更新Win11后,不显示图片缩略图 在Ubuntu 20.04.1 LST上安装摩尔线程MTT S80驱动 Win10文件资源管理器无法找到“始终显示图标,不显示缩略图”的解决办法 解决arcmap10.2无法连接arcgis server管理的问题 终于解决了AMD RYZEN 3970X的散热问题 免费访问Web of Science并检索WOS入藏号的方法 纪念一下 ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。 error 2593 operator << 不明确的可能的解决方法 C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码 Flash Builder中“Error: #2036 加载未完成”错误的解决方法 ArcGIS Server API for JavaScript调用错误:已阻止跨源请求:同源策略禁止读取位于...... Win10下E3-1231 V3开启Intel虚拟化技术(vt-x)安装HAXM GPS accuracy in Android 解决Win7旗舰版开机后无线网络识别非常慢的问题 Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题 Android学习笔记----Activity的生命周期图示 Android学习笔记----TimerTask中显示Toast的问题 Android学习笔记----天地图API开发之UnsatisfiedLinkError
arcgis flexviewer中由Application向widget传值
yeahgis · 2016-04-04 · via 博客园 - yeahgis

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.