我有一个有 4 个选项卡的选项卡式对话框。父组件是一个 mx:TabNavigator,每个选项卡的视图都是 s:NavigatorContent 内的自定义 MXML 组件。3 个选项卡的数据必须作为一个单元发送到后端服务。我正在尝试找出让 3 个选项卡访问要作为一个单元向下发送的数据的最佳方法。我目前有一个 .mxml 文件,它定义了顶级 mx:TabNavigator ,其中 4 个选项卡中的每一个代表 s:NavigatorContent 在它自己的单独的.mxml 文件中定义,以保持文件大小相当短。我目前的方法是让每个选项卡在它们的 creationComplete 处理程序中从后端服务加载它们的数据,并将其存储在一个公共类中,供 3 个选项卡共享的数据模型使用。这个解决方案是可以的,除了:
- 第一个选项卡的创建完成处理程序在应用程序启动时调用,即使它不是第一个可见组件(即用户首先看到的 UI 的其他部分)。我更喜欢真正的延迟加载,在该选项卡对用户可见之前不会加载数据。
- 如果用户在第一个选项卡上编辑数据,然后第一次导航到第二个选项卡而不点击应用按钮,则在第一个选项卡中所做的更改将丢失,因为第二个选项卡的创建完成处理程序将加载共享的数据模型通过 3 个选项卡。
我理想中想要的是:
- 真正的延迟加载;直到用户单击选项卡并且它变得可见时才会加载数据。
- 拥有它,这样当用户在 3 个选项卡中的任何一个上点击应用时,3 个选项卡中的每个选项卡上的当前条目都会被发送到后端服务。
如果有人能就此提出建议,非常感谢。如果需要,我可以更详细地解释。