在Flex中,我们可以将可视元素分离为MXML组件,并在需要时加载到舞台上。但是,父和MXML组件如何进行通信?我的意思是:
谢谢。
答案 0 :(得分:0)
我们如何访问在父级和MXML中创建的变量或函数 彼此的组成部分?
你不应该。组件永远不应该知道它的父级,因为它被认为是封装中断。封装中断使您的代码不再可重用。我写了一篇关于如何two components should communicate with each other的深度博客文章。
我们如何才能相互访问父元素或MXML元素中的元素? 意思是,如果在MXML组件中有textinput,我们如何访问 来自父母的textinput值,反之亦然?
正如我上面所说,你不应该。
为了帮助在应用程序中共享值,许多人所做的是创建某种类型的模型类来存储数据。因此,您的父组件将以某种方式将TextInput的文本值存储到模型类中,可能通过使用Binding。
然后将相同的Model类实例添加到子项中;它可以访问相同的值。有几种方法可以实现这一目标。
您可以使用所有静态变量创建模型类。
您可以将模型类创建为Singleton,因此只创建它的单个实例;然后添加所有类使用的“getInstance()”方法。
您可以使用依赖注入框架将模型类添加到父级和子级中。 Swiz和Robotlegs等框架都支持依赖注入。
我已将所有上述方法用于不同的项目。使用框架的第三种方法是企业级应用程序中最常见的方法,其中事情可以非常快速地变得非常复杂。