【发布时间】:2017-10-08 00:41:32
【问题描述】:
我正在尝试创建同一个组件的多个实例,并使它们成为“可选项卡”的一种 - 基本上每个组件实例一次应该只有一个可见。问题是我知道 [hidden] 指令,但它对我不起作用,因为我使用 HTML 中的大量 ID 标记构建了这个巨大的组件,它破坏了除一个组件之外的所有组件的 CSS当它们同时存在于 DOM 中时(CSS 规则,你知道吗?)。
我的问题是,是否有办法从 DOM 中删除组件,但仍将它们保留在内存中(用于数据保留)以便稍后重新插入?谢谢!
更新:
我能够提出一个利用抽象 RouteReuseStrategyclass 的解决方案。信息取自这里:
【问题讨论】:
-
为什么不将该数据存储在父组件或服务中,然后将
@Inputs 添加到您的组件并使其接受该数据。 -
@AhmedMusallam 因为我可以拥有任意数量的相同组件,每个组件都有自己单独的数据集。在父组件中保留一个字段似乎不是最好的选择。这也意味着该组件将始终是该父组件的子组件,这是我们在此特定应用程序中试图避免的事情。
-
这就是为什么我还提到了“服务”。您还可以添加带有组件标识符的动态路由,并根据该标识符获取数据。
标签: angular dom components hidden