【问题标题】:Obtaining child elements from component tags从组件标签中获取子元素
【发布时间】:2020-02-18 07:42:46
【问题描述】:

我想知道 Angular 中是否允许这种机制:

<app-form-general>
  <p>Hello</p>
</app-form-general>

Angular 编译它并显示app-form-general,但我找不到它处理子元素的方法。我想创建具有动态元素数量的组件,但遗憾的是我猜这不是可获得的。或者有什么东西可以处理内部子数据?

【问题讨论】:

标签: angular


【解决方案1】:

你应该在你的组件'app-form-general'中做。

您希望在组件中的任何位置显示子组件。添加这个 'ng-content'

@Component({
  selector: 'app-any-component', // not app-root
  template:  '<button (click)="add">   
                 <ng-content></ng-content>
              </button>',
  styleUrls: ['./app.component.css']
})
export class AnyComponent{

}

// 其他组件

 <app-any-component> Hello </app-any-component>

Here is stackblitz

【讨论】:

  • 虽然这是答案,但我认为比“在您的组件中,您想要显示子组件的任何地方都更清楚。添加这个'。解释一下ng-content 可能吗?参考一些文档。
  • 应用的根目录不能使用'ng-content',所以也许使用另一个示例组件更清楚:)
  • @PierreDuc 是的,同意。我们不能在 app-root 中使用。这与他使用的组件相同。
猜你喜欢
  • 1970-01-01
  • 2019-07-19
  • 2019-08-22
  • 1970-01-01
  • 2019-12-17
  • 2014-08-19
  • 1970-01-01
  • 2019-12-23
  • 2013-04-29
相关资源
最近更新 更多