About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Nov

    1

    Flex MXML 花括号绑定语法在编写程序时非常方便,可以省去大量的编码工作,让编译器自动完成。在使用列表类组件时,有时会遇到这样的提示:数据绑定将无法检测对“length”的指定。虽然它不会影响最终结果,但在调试和发布时都会遇到警告。

    比如,有一个按钮只想在列表类组件选中一行时启用,在未选中或多选几行时禁用,虽然可以这么写:

    //它会产生一个警告:数据绑定将无法检测对“length”的指定
    enabled="{Boolean(dg.selectedItems.length == 1)}"

    从 API 手册中可以查到 selectedItems 可以用于绑定操作,但它是一个 Array 对象,而 Array 的 length 属性并不可以用于绑定操作。需要作一些修改: 

    //这样世界就安静了
    enabled="{Boolean(new ArrayList(dg.selectedItems).length == 1)}"

    因为 API 手册中写了 ArrayList 的 length 属性可以用于绑定操作。