javascript - Angular - 动态注入内容到零件
问题描述
我有组件的组成
组分A
<div class="CA"><ng-content></ng-content></div>
组分B
<div class="CB"><ng-content></ng-content></div>
在父母中,我想像这样使用它们:
<component-a>
<component-b>
// I want something here
<div>some-content injected from parent<div/>
</component-b>
</component-a>
因此,我的组件被设计为可组合的,并且父级需要从其范围内访问所有组件 - 无需遮蔽 api。
我想做的也是影响component-b
from的孩子component-a
。我想I want something here
从那里访问ComponentA.component.ts
并注入一些东西。
现实生活中的例子:
<app-input-with-buttons (onButtonClick)="someCallback()">
<app-input [validationMessage]="someValidation$ | async">
<input ngModel />
</app-input>
</app-input-with-buttons>
我需要InputWithButtonsComponent
将 HTML 注入InputComponent
孩子。
我知道它“太 React 方式”,但是这种方法允许我将组件限制为单一职责,允许表单组件控制表单控制的每个步骤。
是否可以访问ng-content
Angular 中的许多嵌套级别?此外,这样的解决方案是否有更好的架构模式?
解决方案
推荐阅读
- string - 空手道 - 在当前功能文件中生成随机字母数字字符串
- ajax - Post 参数被删除但在 Ajax 调用后重新出现
- azure-cosmosdb - Cosmos DB - 索引策略设置
- accessibility - Make JAWS read role columnheader every-time before the column value
- python - Python 3 - Google protobuf 响应 - 无需 .proto 文件即可解码
- javascript - 在 forEach 循环之后返回实际上是在它之前返回(节点)
- jmx - 如何将 Prometheus 与 Presto JMX 连接起来
- reactjs - Jest + React + TypeScript:默认配置
- azure - Azure SQL Server 中的 log_write_percent 是什么?
- javascript - 更新 markdown 链接中的 href