有没有办法在mxml中声明一个私有/受保护甚至是静态的子组件?
当然我们可以在脚本标签内执行此操作,但还有其他方法吗?
答案 0 :(得分:2)
Ashier建议使用“Exclude”元数据标签,但Maskit提供其局限性并建议替代解决方案:
http://blog.ashier.com/2008/03/25/hiding-properties-in-flex-components/
http://smaskit.blogspot.com/2008/07/making-mxml-subcomponent-private.html
答案 1 :(得分:0)
在这些术语的严格意义上,不能使用mxml来做到这一点。 Luis发布的第二个链接包含一些私有/受保护行为的解决方法。
答案 2 :(得分:0)
我找到了静态问题的解决方案。我想要一个可以在移动应用程序的任何地方访问的快速便笺簿,而不需要在不同的屏幕上打开一个实例覆盖编辑。
我创建了一个memo pad mxml控件,然后将它放在顶级应用程序mxml的声明部分中。在我希望备忘录出现的每个视图中,我添加了:
import mx.core.FlexGlobals;
import components.QuickMemo;
private var memo:QuickMemo;
在视图创建完成中:
memo = FlexGlobals.topLevelApplication.memo;
在viewActivation代码中,我添加了:
memo.visible = false;
addElement(memo);
在viewDeactivation代码中,我包括:
removeElement(memo);
实际效果是,任何时候只有一个备忘录实例存在,并且一个实例以它出现的最后一个视图中存在的任何状态打开。