Actionscript 3 使用ObjectProxy延迟模型中的绑定
我的应用程序目前有两个类:Actionscript 3 使用ObjectProxy延迟模型中的绑定,actionscript-3,apache-flex,binding,Actionscript 3,Apache Flex,Binding,我的应用程序目前有两个类: MyModel-包含视图所需的所有原始数据 MyView-要加载并显示模型数据的组件 MyModel当前直接绑定到MyView,因此当模型中发生更改时,它会立即在视图中更改 我想做的是将一些绑定延迟到视图中发生特定操作之后。例如,在视图中播放视频或声音时,某些绑定不会更新 我的计划是创建一个附加类: MyViewModel-抽象MyModel,并包含视图所需的视图特定数据MyView可以直接绑定到此类(而不是绑定到MyModel),并且数据总是正确的 抽象My
-包含视图所需的所有原始数据MyModel
-要加载并显示模型数据的组件MyView
MyModel
当前直接绑定到MyView
,因此当模型中发生更改时,它会立即在视图中更改
我想做的是将一些绑定延迟到视图中发生特定操作之后。例如,在视图中播放视频或声音时,某些绑定不会更新
我的计划是创建一个附加类:
-抽象MyViewModel
,并包含视图所需的视图特定数据MyModel
可以直接绑定到此类(而不是绑定到MyView
),并且数据总是正确的MyModel
抽象
MyModel
的最佳方式是什么?我一直在考虑为此扩展,但我不确定是否可以延迟绑定。如果要在运行时更改/删除/添加绑定,请尝试
BindingUtils和ChangeWatcher。对我来说,使用ObjectProxy(或任何类型的代理类)将原始数据模型组织到表示模型中似乎是一种很好的方法。但是我想知道你为什么要推迟绑定的执行。听起来您更应该根据某些条件使用状态以某种方式呈现视图。当然,如果没有一个更具体的例子,我无法确定。@RIAstar:我最终决定使用
Proxy
,而不是ObjectProxy
。原因是,当视图播放视频时,绑定应该被冻结,但我认为状态可能很混乱,因为这将取决于用户检查了哪些选项,哪些变量将被冻结。我为此创建了一个新类BindableObjectCache
,也许我会在一些测试之后发布。是的,我已经在使用ChangeWatcher
s了,但我想知道是否有办法冻结绑定。特别是创建表示模型的最佳实践,该模型将缓存来自模型的绑定。