【问题标题】:How to write '{' in inline event handler in the mxml tag itself?如何在 mxml 标记本身的内联事件处理程序中编写“{”?
【发布时间】:2011-04-08 14:39:15
【问题描述】:

如何在 mxml 标签本身的内联事件处理程序中写入'{'? 假设我想写这个并且不想为这两行语句创建一个函数......

click="{if { (_absences!='')chkAbsences.selected = true; chkRegularHrs.selected = false;} else {chkAbsences.selected=false};}"

谢谢大家...

【问题讨论】:

  • 为什么不把它放到一个函数中呢?如果情况变得更加复杂怎么办?恕我直言,可读性很重要,从长远来看,MXML 中更复杂的条件会降低可读性。
  • 是的,但有时它只有 2 行,我只是想知道...

标签: flex3 adobe


【解决方案1】:

你必须转义那个角色。 & 也是如此。 编译 MXML 时,首先它必须是一个有效的 XML 文件。所以,有些字符你需要适应和写出丑陋的东西,比如if ( X && Y ) ...

How to escape..

PS:按照@bedwyr 所说的去做,并使用script 块来执行冗长的功能。你以后会感谢他/她的。

【讨论】:

  • 是的,这就是我要问的,逃避这些事情。谢谢。 PS:我想只将它用于两行代码,但如果它看起来那么难看,我会更好地使用函数。谢谢。
  • 这也是避免坏习惯的问题。
【解决方案2】:

其实很简单:

<s:Button>
    <s:click>
        <![CDATA[
            function clickHandler(event:MouseEvent):void
            {
                trace("CLICK!");
            }
        ]]>
    </s:click>
</s:Button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多