内容投影
你不必在模块或组件级别提供 ContentProjectionService
,因为它已经在根中提供了. 你可以在组件中注入并开始使用它. 为了获得更好的类型支持,你可以将迭代项目的类型传递给它.
你可以使用 ContentProjectionService
的 projectContent
方法在你的项目中动态的渲染组件和模板.
在上面的示例中, SomeOverlayComponent
组件放置在 <body>
的末尾并返回 . 另外将应用给定的上下文,因此组件的 someOverlayProp
被设置为 SOME_VALUE
.
在上面的示例中,(它是一个ViewContainerRef
实例)将被清除,并把 SomeComponent
组件放在其中. 另外将应用给定的上下文,因此组件的 someProp
被设置为 SOME_VALUE
.
你应该总是返回
ComponentRef
或EmbeddedViewRef
,因为它是对投影内容的引用,在你需要时使用该引用销毁它们.
projectionStrategy
参数是此处的要点,在上面进行了说明.