在Flex中,我们可以将可视元素分离到MXML组件中,并在需要时加载到前台。但是,父组件和MXML组件如何进行通信呢?我的意思是:
谢谢。
发布于 2013-12-15 13:23:01
如何相互访问在父组件和MXML组件中创建的变量或函数?
组件不应该知道它的父级,因为这被认为是封装中断。封装中断会降低代码的可重用性。我写了一篇关于两个组件应该相互通信。是如何深入的博客文章。
如何相互访问父组件或MXML组件中的元素?这意味着,如果在MXML组件中有一个文本输入,那么我们如何从父组件访问文本输入值,反之亦然?
就像我上面说的,你不应该。
为了帮助在应用程序之间共享值,许多人所做的是创建某种类型的模型类来存储数据。因此,您的父组件将以某种方式将TextInput的文本值存储到模型类中,可能是通过使用绑定。
然后将相同的Model类实例添加到子类中;它可以访问相同的值。要做到这一点,有几种方法。
您可以使用所有静态变量创建模型类。
您可以将模型类创建为Singleton,因此只能创建它的一个实例;然后添加所有类使用的"getInstance()“方法。
可以使用依赖项注入框架将模型类添加到父类和子类中。Swiz和Robot腿等框架都支持依赖注入。
我在不同的项目中使用了上述所有的方法。第三种方法,使用框架,是企业级应用程序中最常见的方法,在这种应用程序中,事情会变得非常复杂。
https://stackoverflow.com/questions/20591120
复制相似问题