2015-02-11 44 views
0

我继承了一个大型的Flex项目,它在整个地方使用了绑定和ChangeWatchers--它就像一些大型的弹球机器。我真的不喜欢数据绑定(尽管我想我很欣赏它如何有用),所以我没有深入了解它的深入。为什么将属性和setter都设置为Bindable?

为什么会有一个财产和设置属性可绑定?

[Bindable] 
    protected var _transformEnabled:Boolean = false; 

..

[Bindable] 
    public function set transformEnabled(value:Boolean):void{ 
     _transformEnabled = value; 
    } 
+0

使用[可绑定]必须以零星的方式完成。在一个项目中使用约10个绑定可能会在移动设备上开始滞后应用。每个绑定使用大量的CPU,因此它们只能以战略方式使用。我之前见过的“flex开发者”在整个地方使用可绑定的目的只是为了懒惰而不关心他们工作的质量。我的建议:改变它。 – BotMaster 2015-02-12 14:05:25

回答

0

你通常不会,除非在某处代码它直接绑定到_transformEnabled。 (例如,<SomeComponent isTransformed={_transformEnabled} />

+0

同意了,就是要说这个。由于它是只写属性,因此必须使用存储变量来读取和绑定。我不知道的是,为什么你要在setter上说'[Bindable]'只写属性,这样做甚至可以做什么有用的事情?我不认为它确实如此。 – Aaron 2015-02-12 02:45:46

相关问题