0

我有一个 Group 屏幕组件,里面有一些 Path 元素。组具有(默认)样式,路径具有(默认)笔触。当程序启动时,(在初始化时)从服务器(通过 HTTPService)加载一些数据,这些数据包括不同的 Group 样式,还可能包括不同的路径笔划颜色/宽度。如果服务器响应中不包含样式/笔触属性,则该组件将显示为默认值。

<s:Group id="aaa" mouseEnabledWhereTransparent="false" styleName="style1">
    <s:Path x="1218.15" y="268.126" data="M23.6755 80.0898C18.1824 58.54 29.1824 66.8735 23.6755 80.0898Z" >
     <s:stroke>
        <s:SolidColorStroke color="#ff12ae" weight="1" joints="miter" miterLimit="4"/>
    </s:stroke>
  </s:Path> 
.....
.....
.....
</s:Group> 

问题是当服务器返回不同的样式/笔画时,应用程序首先在屏幕上显示默认值,在 HttpService 返回后,它会刷新最终屏幕。

我阅读了有关组件生命周期的信息,但努力弄清楚该逻辑应该如何编码。是否应该包含 CallLater 以延迟屏幕更新?是否应该在 HTTPService 回调函数结束后才创建组件?

谢谢彼得

4

1 回答 1

1

我认为您应该在 HTTPService 响应后添加组件。所以如果你有这样的事情:

<mx:HTTPService id="theService" url="http://localhost/bla.php"
  method="GET" resultFormat="text"
  result="resultHandler(event)" fault="faultHandler(event)"/>

那么显示组件的代码应该在resultHandler()中,或者这个函数应该调用显示组件的代码

于 2011-06-04T14:15:16.033 回答