这篇文章主要为大家展示了“Flex数据绑定陷阱有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex数据绑定陷阱有哪些”这篇文章吧。
Flex数据绑定陷阱
◆Usingbindinginplaceofdirectassignment在直接赋值的地方使用绑定
有一种情况,就是你可以不使用绑定,使用直接赋值就可以成功实现同样效果的话,你***不要使用绑定。我已经看到过很多形式的这类型错误了。
下面的代码就可以说明:
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <s:Applicationxmlns:fxs:Applicationxmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" minWidth="1024"minHeight="768"> <fx:Script> <![CDATA[ privatevartext:String; ]]> </fx:Script> <s:layout> <s:VerticalLayout/> </s:layout> <s:TextInputids:TextInputid="textInput2"text="{text}"/> </s:Application>
这段代码中定义了一个文本输入框,将私有成员变量绑定到这个文本输入框的text属性上。它看起来无害,对不对?我经常看到Flex应用程序中使用这些类型的标签。Flex的编译器会自动生成代码来实现Flex数据绑定。
你会发现,尽管你不需要绑定text字符串,因为它是一次性赋值的,但是编译器仍然会生成代码,来适应属性Flex数据绑定的条件。另外,有些情况下你需要在赋值后解除绑定,或是移出绑定代码来减少开销,但是你在MXML中使用<mx:Binding>标签后将不能这样做。
作为一个经验法则,应避免使用绑定到一个私有变量。
在上面的例子中,你可以直接给输入文本框设置值。
<s:TextInputids:TextInputid="textInput2"text="sometextgoeshere"/>
当你使用直接赋值时,你会大大减少你的开销,因为编译器不再会生成你不需要的绑定代码。作为一个通用的经验法则,不要使用Flex数据绑定,除非你绑定的值可能或肯定会改变。
以上是“Flex数据绑定陷阱有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!