我是Flex的新手,我正在尝试编写一个包含大量内容的程序。有一个侧边栏,一个带有标签的主要内容窗格等。
我希望能够创建MXML文件(如sidebar.MXML,tab1.mxml等),然后我可以将其加载到侧边栏或加载到某个选项卡中。这将使我的代码更易于管理,而不是在主MXML文件中编写所有代码。
我可以这样做吗?我已经通过将它们放在自定义组件中来模块化我的一些代码,但我真的希望能够从其他MXML文件加载内容,就像我在PHP中可以做的那样:
<?php include 'someFile.php'; ?>
答案 0 :(得分:2)
你可以通过将模块编译成不同的swfs并根据需要加载它们来模拟类似的东西,尽管它很麻烦且很慢。
答案 1 :(得分:2)
最简单的方法就是编写自定义组件,这是一个很容易做到的大词。
假设你有这样的申请:
Main.mxml
<s:Application ...>
<s:Hgroup id="tabs" ...>
(Your tab content here)
</s:HGroup>
<VGroup id="sideBar" ...>
(Your sidebar content here)
</s:VGroup>
</s:Application>
然后创建新的mxml文件,例如Sidebar.mxml和Tabs.mxml,让它们像这样从VGroup和HGroup扩展。
Tabs.mxml
<s:HGroup ...>
(Your tab content here)
</s:HGroup>
Sidebar.mxml
<s:VGroup>
(Your sidebar content here)
</s:VGroup>
然后将HGroup和VGroup替换为Main.mxml
中的自定义组件Main.mxml
<s:Application xmlns:components="com.the.path.to.your.component.package.*" ...>
<components:Tabs/>
<components:Sidebar/>
</s:Application>
事实上你做同样的事情:
<?php include 'someFile.php'; ?>
看起来有点不同。
答案 2 :(得分:1)
好吧,除了使用自定义组件之外,看起来没有办法做到这一点。