Flex MXML组件

时间:2013-12-15 04:12:39

标签: flash flex flash-builder

在Flex中,我们可以将可视元素分离为MXML组件,并在需要时加载到舞台上。但是,父和MXML组件如何进行通信?我的意思是:

  1. 我们如何访问父和MXML组件中创建的变量或函数?
  2. 我们如何才能相互访问父元素或MXML元素中的元素?意思是,如果在MXML组件中有textinput,我们如何从父级访问textinput值,反之亦然?
  3. 谢谢。

1 个答案:

答案 0 :(得分:0)

  

我们如何访问在父级和MXML中创建的变量或函数   彼此的组成部分?

你不应该。组件永远不应该知道它的父级,因为它被认为是封装中断。封装中断使您的代码不再可重用。我写了一篇关于如何two components should communicate with each other的深度博客文章。

  

我们如何才能相互访问父元素或MXML元素中的元素?   意思是,如果在MXML组件中有textinput,我们如何访问   来自父母的textinput值,反之亦然?

正如我上面所说,你不应该。

为了帮助在应用程序中共享值,许多人所做的是创建某种类型的模型类来存储数据。因此,您的父组件将以某种方式将TextInput的文本值存储到模型类中,可能通过使用Binding。

然后将相同的Model类实例添加到子项中;它可以访问相同的值。有几种方法可以实现这一目标。

您可以使用所有静态变量创建模型类。

您可以将模型类创建为Singleton,因此只创建它的单个实例;然后添加所有类使用的“getInstance()”方法。

您可以使用依赖注入框架将模型类添加到父级和子级中。 Swiz和Robotlegs等框架都支持依赖注入。

我已将所有上述方法用于不同的项目。使用框架的第三种方法是企业级应用程序中最常见的方法,其中事情可以非常快速地变得非常复杂。