【发布时间】:2017-02-01 14:58:16
【问题描述】:
我正在使用 angular2 编写一个 Ionic 应用程序 - 让我们以 MasterDetail 模式为例:
MasterPage 是一个显示列表的组件。
DetailPage 是一个显示列表中单个项目的组件。
ListService 是一个保存单个列表数据的服务,该列表的数据要为MasterPage 和DetailPage 共享,因此应用于单个项目的所有更改(例如编辑)也会更新MasterPage。
但是如果我有MasterPage 的多个实例 - 假设我有一个带有菜单项的MenuPage,我可以从中打开一个列表。
所以我的导航可能是这样的:
MenuPage -> MasterPage -> DetailPage -> MenuPage(来自标题上的菜单按钮)-> 第二个 MasterPage 显示不同的列表。
我如何拥有ListService 的多个实例,其中每组MasterPage - DeatilPage 共享一个实例?
【问题讨论】:
-
我不明白 1 有什么问题。如果您有共享服务并从详细信息页面更新服务状态,那么母版页也会看到这些更改。
-
是的,但是该服务如何同时保存多个实例(具有不同列表)的数据?
-
只需在
MasterPage上提供服务,每个MasterPageDetailPage对都会有自己的服务实例。 -
我不知道 - 你可以把它写成答案 - 我会编辑这个问题以适合你的答案。