javascript - 如何访问已经嵌入的 ContentChild?

标签 javascript angular typescript

我有一个 Angular 组件 app-b,它在组件 app-a 中使用,该组件 app-a 在 app-component 中使用。 app-component 在 app-a 中有一些内容,app-a 将此内容与 ng-content 转换为 app-b,app-b 将其与另一个 ng-content 一起显示 - 但我如何在组件中访问此内容(而不是它是模板)?

我认为 ContentChild 是正确的方法,但似乎是错误的。

例子:

https://stackblitz.com/edit/angular-ddldwi

编辑:更新示例

最佳答案

您不能使用 @ContentChild 装饰器按标签名称查询。您可以通过模板变量、组件或指令选择器进行查询。

app-a.component.html

<app-b>
  <ng-content></ng-content>
  <p #myContent>This is a content child for app-b.</p>
</app-b>

app-b.component.ts

 import { Component, AfterContentInit, ContentChild } from '@angular/core';

@Component({
  selector: 'app-b',
  templateUrl: './b.component.html',
  styleUrls: ['./b.component.css']
})
export class BComponent implements AfterContentInit {
  @ContentChild('myContent') contentchild;

  ngAfterContentInit() {
    console.log(this.contentchild);
  }
}

Live demo

关于javascript - 如何访问已经嵌入的 ContentChild?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49904027/

相关文章:

forms - Angular 2 - 单击以编辑表单字段

javascript - 每次以不同的入口点运行 Webpack,但仍然使用配置文件?

Angular 2获取父激活路由

javascript - Jquery UI 可放置 : How can I use different hoverClass values based on some logic?

javascript - 类型错误 : Cannot read property "messageMetaData" from undefined

angular - 使用 NPM 安装 Font Awesome 5

javascript - 将父作用域添加到匿名函数 - JavaScript 到 Angular 2

javascript - filepicker.io 当某些文件使用 pickAndStore 完成但用户关闭模式时会发生什么?

javascript - 如何优化服务和加载 JavaScript 文件?

javascript - 错误类型错误 : "jit_nodeValue_3(...).toggle is not a function"