0

We can add inline codes in MXML. However we when try to get properties from NULL object in MXML(inline code), flex doesn't throw error. However when we do same thing in action script tag, we can see script error thrown.

how this behavior is captured in MXML. Any idea.

For eg:

Class ValueTo  //Model class
{

  public var name:string;

}

<fx:Script>
        <![CDATA[
            public var v:ValueTo;
        ]]>
    </fx:Script>

    <mx:Label **text="{v.lable}"** />  //No error thrown, when v=null, i.e null.label
4

1 回答 1

0

发生这种情况的原因是由于大括号表达式:text="{v.label}. (除了“大括号”或绑定表达式之外,我不知道如何称呼这些 - 有人请用正确的术语编辑/纠正我)。

Flex 数据绑定功能通过设计“吞噬”了这些错误。可以想象,v.label例如,当应用程序启动时,like 的值可以为 null。为方便起见,Flex 会为我们处理这些错误。但是,当我们编写自己的 Actionscript 时,我们就没有那么奢侈了。

然而,这没什么神奇的。管理数据绑定/大括号表达式的 Flex 代码要么检查空值,要么包含在try/catch语句中以处理可能由空对象导致的任何错误。

于 2012-07-17T14:47:19.423 回答