Flex嵌套容器的生成次序
之前一直没在意父容器和子容器各自的生成次序,知道在项目中遇到一种case:初始化界面时父容器初始化的内容由子容器先初始化再触发,但是父容器必须在初始化时就已经加上了对子容器的监控。这就造成一对矛盾,既想先生成子容器又想先生成父容器。
先自己写段代码测试一下生成顺序,父容器
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:guoguo="*" layout="absolute" initialize="init()" creationComplete="created()">
<mx:Script>
<!--[CDATA[
public function init():void
{
trace("parents init");
}
public function created():void
{
trace("parents created");
}
]]-->
</mx:Script>
<guoguo:children />
</mx:Application>
子容器
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" initialize="init()" creationComplete="created()">
<mx:Script>
<!--[CDATA[
public function init():void
{
trace("child init");
}
public function created():void
{
trace("child created");
}
]]-->
</mx:Script>
</mx:Canvas>
debug下trace的结果为
child init
parents init
child created
parents created
所以他的次序是先初始化子容器再初始化父容器再完成子容器再完成父容器,说起来很拗口。貌似能解决我一开始的问题了,那就是分开写init和created,parent init时加监控,child created时加载数据,parents created再调用。理论上是可以的,但是我在项目中的情况有点特殊,因为要调用httpService,是异步执行。
再做一个实验,父容器中传参数
<guoguo:children username="doudou" />
子容器中代码改为
public var username:String ="xiaomaomao" ;
public function init():void
{
trace("child init" + username);
}
public function created():void
{
trace(&
相关文档:
flex 控件属性
2009-11-12 16:06
使用<mx:Style>标签在MXML文件中创建本地的样式定义。这个标签包含了符合CSS2.0语法的样式表定
义。这些定义会应用到当前文档以及当前文档的子文档。
<mx:style>
.solidBorder{//类选择样式
borderStyle:solid;
}
button{//组件定义样式
borderStyle:solid;
}
.. ......
首先,申明本文是转载
http://blog.csdn.net/ivanmarkliu/archive/2009/07/08/4327570.aspx
,大家可以访问该链接,也可以直接阅读本文后续部分以了解
flex
事件。接下来简单谈下为何要转载此文及本人对此文的一些补充。
可以这样说 ......
应为设计要求, 我需要计算String的宽度,
搜索了下网上的文章, 看到有用measureText(string)的,
可是用了下发现, 这个function得到的string大小, 不会根据字体的大小, 粗黑的变化,
始终返回同一个值, 也许是我的用法不对, 最后我没有这个方法,
改用了另外一个方法:
private function getTextWidth():int
{
&nbs ......
转自:http://hi.baidu.com/wosinmaiken/blog/item/ee59f7a8f72604bdca130c24.html
/**ceil 向前(数轴向右)取整(返回值为Number)**/
trace(Math.ceil(10.4)); //11
trace(Math ......
最近在开发过程中发现一个问题:Boolean类型的值无法在flex和java间传递,经过一段研究发现,问题出现在Boolean类型的getter和setter方法上。
按照javabean的规范,小布尔类型的getter是以is做前缀的,但是大布尔类型的getter就成了以get为前缀了(大布尔作为引用类型,已经被视为普通 ......