因此,我尝试将几个可重用的组件一起使用。它们如下:
在标记中实施时,如下所示:
<smart-nav-tile-group>
<smart-nav-tile></smart-nav-tile>
<smart-nav-tile></smart-nav-tile>
</smart-nav-tile-group>
SmartNavTileGroup
组件实现RadioCheckboxGroup
,而SmartNavTile
组件实现RadioCheckboxWrapper
。
因此,在结果标记中,它们按以下顺序进行:
<smart-nav-tile-group>
<radio-checkbox-group>
<smart-nav-tile>
<radio-checkbox-wrapper>
此处的目标是允许RadioCheckboxGroup
访问其中的RadioCheckboxWrapper
的所有实例。
到目前为止,我已经尝试了ViewChildren
和ContentChildren
以及forwardRef
注入并使用共享服务来完成此操作。
到目前为止,让我接近完成这项工作的唯一一件事就是服务。
RadioCheckboxGroupService
与RadioCheckboxGroup
模块和组件一起提供。这具有为每个RadioCheckboxGroup
创建服务的理想结果。
但是,每当将此服务注入RadioCheckboxWrapper
时,都会创建该服务的第三个实例,并将RadioCheckboxWrapper
的所有实例放入此RadioCheckboxGroupService
的实例中,无论它们在服务器上的什么位置。页。
因此,出于某些原因,他们正在创建自己的全局单例,而不是使用RadioCheckBoxGroup
创建的单个实例,而对于我来说,我不知道为什么他们不使用由RadioCheckboxGroup
创建的单个实例`RadioCheckboxGroup。
从这一系列的控制台日志中可以看到,每个RadioCheckboxGroupService
都会在需要时创建一个RadioCheckboxWrapper
的实例,但是每个RadioCheckboxGroupService
的实例都会将自己添加到第三个全局单例中RadioCheckboxGroup
的实例,而不是RadioCheckboxWrapper
设置的服务:
如何获取RadioCheckboxGroup
的每个实例以使用其INSERT INTO public."MyTable"
(
"SomethingIdFk",
"Date"
)
VALUES
(
8,
CURRENT_TIMESTAMP
);
的祖先实例创建和提供的服务,而不是创建全局服务并将其添加到其中?
答案 0 :(得分:0)
此处的解决方案是确保将RadioCheckboxWrapper
导入提供RadioCheckboxGroupService
的模块中。在这种情况下,需要将其导入到RadioCheckboxGroup
模块中。