angular 怎么样在组件模板中输出子组件(以获取到子组件对象)

发布于 2022-09-11 16:17:28 字数 912 浏览 21 评论 0

问题描述

我现在需要控制子组件的显示方式,目前已经获取到子组件component的对象实例,但是我怎么把这个对象显示在父组件的模板中呢?

问题出现的环境背景及自己尝试过哪些方法

<ng-template [ngComponentOutlet]="child[0]"></ng-template>这样不得行

相关代码

import { Component, OnInit, ViewContainerRef, TemplateRef, ContentChildren, AfterViewInit } from '@angular/core';
import { ISelectItem } from './item-interface';
@Component({
  selector: 'zzj-table-tool-select',
  templateUrl: './table-tool-select.component.html',
  styleUrls: ['./table-tool-select.component.scss']
})
export class TableToolSelectComponent implements OnInit,AfterViewInit {
  children: ISelectItem[] = [];
  @ContentChildren('child') child;
  constructor() { }

  ngOnInit() {
  }
  public addItem(item: ISelectItem) {
    this.children.push(item);
  }
  ngAfterViewInit() {
    console.log('--------');
    console.log(this.child)
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼泪淡了忧伤 2022-09-18 16:17:28

ng-content
不对啊,你没输出怎么获取的实例?
还是说你只写了

@ContentChildren('child') child;

但模板中没有与之对应的代码?这样是获取不到实例的

难如初 2022-09-18 16:17:28

语法糖:

<ng-container *ngComponentOutlet="ctrl"></ng-container>

直接引用子组件类,不用类实例。

看下官网

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文