Angular6 角度项目中的嵌套组件调用?

Angular6 角度项目中的嵌套组件调用?,angular6,Angular6,如何在组件内部单击按钮时在其他组件中渲染组件?我想您要查找的是事件发射器。有关文档,请参阅 下面是一个简单的代码笔来演示: //parent-component.ts @组成部分({ 选择器:“父组件”, 模板:` 父母亲 ` }) 类ParentComponent{ showNestedChildA:boolean=false; 公共开关ShowNestedChilda(事件){ this.showNestedChildA=!this.showNestedChildA; } } //child

如何在组件内部单击按钮时在其他组件中渲染组件?

我想您要查找的是事件发射器。有关文档,请参阅

下面是一个简单的代码笔来演示:

//parent-component.ts
@组成部分({
选择器:“父组件”,
模板:`
父母亲
`
})
类ParentComponent{
showNestedChildA:boolean=false;
公共开关ShowNestedChilda(事件){
this.showNestedChildA=!this.showNestedChildA;
}
}
//child-a-component.ts
@组成部分({
选择器:“子组件”,
模板:`
孩子A
`
})
类ChildAComponent{
@Input()showNestedChild:boolean=false;
}
//嵌套-child-a-component.ts
@组成部分({
选择器:“嵌套子组件”,
模板:`
嵌套子对象A
`
})
类NestedChildAComponent{}
//child-b-component.ts
@组成部分({
选择器:'child-b-component',
模板:`
孩子B
切换嵌套的子对象A
`
})
类子组件{
@Output()toggleNested=neweventemitter();
公开展示{
this.toggleNested.emit(null)
}
}

请说得更具体一些,很难理解您想要实现的目标
// parent-component.ts
@Component({
  selector: 'parent-component',
  template: `
   <h1>Parent</h1>
   <child-a-component [showNestedChild]="showNestedChildA"></child-a-component>
   <child-b-component (toggleNested)="toggleShowNestedChildA($event)"></child-b-component>
  `
})
class ParentComponent {
  showNestedChildA: boolean = false;

  public toggleShowNestedChildA(event) {
    this.showNestedChildA = !this.showNestedChildA;
  }
}

// child-a-component.ts
@Component({
  selector: 'child-a-component',
  template: `
   <h2>Child A</h2>
   <nested-child-a-component *ngIf="showNestedChild"></nested-child-a-component>
  `
})
class ChildAComponent {
  @Input() showNestedChild: boolean = false;
}

// nested-child-a-component.ts
@Component({
  selector: 'nested-child-a-component',
  template: `
  <h3>Nested Child A</h3>
  `
})
class NestedChildAComponent { }

// child-b-component.ts
@Component({
  selector: 'child-b-component',
  template: `
   <h2>Child B</h2>
   <button (click)="showNested()">Toggle Nested Child A</button>
  `
})
class ChildBComponent {
  @Output() toggleNested = new EventEmitter();

  public showNested() {
    this.toggleNested.emit(null)
  }
}