读书人

Flex数据绑定陷阱:常见的误用和异常

发布时间: 2012-10-07 17:28:51 作者: rapoo

Flex数据绑定陷阱:常见的误用和错误

Flex<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
? ?xmlns:s="library://ns.adobe.com/? ?preinitialize="handlePreinitialize()">? ?? ?? ?? ?? ?? ?? ?? ?

? ?<fx:Script>
? ?? ?<![CDATA[
? ?? ?? ?[Bindable]
? ?? ?? ?private var xml:
</s:Application>复制代码

我已经添加了xml变量绑定到Label
图1. xml对象的值被设置为null



另一种方法更加直观,是使用BindingManager类的debugBinding方法。
你设置你想观察的组件和属性,然后你就可以看到被捕获的错误。

在上面的示例代码中,我给下面的这行代码加了注释:


图2.控制台输出的绑定错误



看一下Binding.as和BindingManager.as类的代码。代码中含有许多的try...catch表达式来确保形成有效绑定的条件。
以下有一些在绑定时可能抛出的错误类型:

? ? * Error #1006: Call attempted on an object that is not a function.
? ? * Error #1009: Null has no properties.? ? ? ?
? ? * Error #1010: Undefined has no properties.? ? ? ?
? ? * Error #1055: Has no properties.
? ? * Error #1069: Property - not found on - and there is no default value
? ? ? ?
? ? *错误#1006:试图调用的对象不是函数。
? ? *错误#1009:空没有属性。
? ? *错误#1010:未定义没有属性。
? ? *错误#1055:没有属性。
? ? *错误#1069:属性 - 找不到 - 并且没有默认值

如果任何这些错误发生,绑定对象将默默捕获他们并不再实现绑定。
你可以使用绑定管理的调试选项来看到这些错误。
绑定管理除了捕获这些错误之外还捕获其他的错误。

读书人网 >flex

热点推荐