不同组件之间的柔性共享数据(flex sharing data between different

2019-09-29 16:58发布

我在这都需要基于相同的数据显示统计我的Flex应用程序的各种MXML组件。 我怎么能去这样做? 我需要像cairngrom或PureMVC的对于一些MVC框架或我能做到这一点,没有他们? 任何设计思路?

Answer 1:

环法自行车Flex的 ,现在有一个指向是在那里的各种选项的框架的部分。 还检查了一个视频我在做的Flex最佳实践 。 并检查了Flex中截屏的第一个步骤上的体系结构模式 。



Answer 2:

你不需要对任何框架。 你知道数据绑定?

http://www.flexafterdark.com/docs/Flex-Binding

这种方式可以为许多组件设置你的数据作为数据提供程序。 例如,以显示DataGrid中你的数据,你在MXML中设置其属性

dataProvider="{yourDataArrayCollectionIdentifier}"

在你的ArrayCollection声明中,您需要设置的元标记[绑定]

[Bindable] var yourDataArrayCollectionIdentifier : ArrayCollection;

还有,你可以为数据提供程序使用其它数据类型,只是ArrayCollection中是最常见的



Answer 3:

还有的方法,应付这一屈指可数。 对于封装的目的,你应该隔离你的共享数据到一个单独的类; 可能值对象,尽管它简化版,必须如此。

然后在此创建班级类型的每个MXML组件公共变量属性。 当您创建的每个MXML组件的实例,通过在数据类的“全球”的实例。

你并不需要使用MVC框架,但凯恩戈姆型号定位器还可以用来解决这个问题。 模型定位器是一个单。 你会保存一个实例,该内部数据; 然后将每个MXML组件将引用为单数据。 创建这样的休息封装外部的依赖,虽然。 我更喜欢非专用组件参数传递路线。



Answer 4:

package 
{
    public class ApplicationViewModel
    {
        [Bindable] public var message:String = "";  
    }
}

现在,您可以在您进行的,该实例使用此消息在您的MXML。

一个Singleton类是要容纳所有国家的一些信息不同的情况下使用。 一个更好的例子是国际象棋棋盘,你的主板是Singleton类,当你必须跟踪的所有硬币全线及其位置移动的状态应该不会改变。

您注射在你要显示的数据视图此消息变量。



文章来源: flex sharing data between different components