2012-01-14 41 views
0

我想知道是否可以在不使用mx.binding.utils的情况下在纯动作中创建数据绑定系统。 至少我想知道什么是数据绑定代码的开销,以及ChangeWatcher如何知道属性何时发生更改。 谢谢!databinding如何在actionscript中真正起作用

回答

1

退房的Flex数据潜水迈克尔拉布里奥拉结合水:http://www.ruffkutmedia.com/tutorials-diving-in-the-data-binding-waters-by-michael-labriola.htm(视频) - 这里SlideShare上:http://www.slideshare.net/michael.labriola/diving-in-the-flex-data-binding-waters-presentation

还有大量的工作是继续当您将数据绑定在幕后,但他给它是如何工作的一个非常好的解释。创建一些自动工作的东西有点尴尬,除非你通过添加代码的“编译”阶段。

您还可以检查出的AS3公共byecode项目:http://www.as3commons.org/as3-commons-bytecode/index.html它应该让你在运行时添加代码

+0

谢谢,它看起来很可能使用了反射...这就是我认为它会产生setters和getters的原因。再次感谢你! – sebas 2012-01-14 17:14:22

0

flex编译器实际上将您的MXML/AS3编译为纯AS3,然后将其全部编译为字节码。所以在编译过程的某个阶段,数据绑定实际上是通过ActionScript来实现的。

问题是Flex增加了一些专门用于数据绑定的语法。没有什么能阻止你在AS3中创建一个数据绑定系统,但是有一些限制,比如你必须以AS3的方式来完成。

+0

非常感谢您的回答。主要问题是:数据保护如何在引擎盖下工作?我可以做一个可能的参考系统,但那会成为一个天真的双向数据绑定。我可以通过事件做到,但我怎么知道房产是否已经改变?我应该在enterframe中检查它吗?在这种情况下,开销听起来太多了。让我知道你的想法谢谢。 – sebas 2012-01-14 11:53:31

相关问题