Javascript ngxd不会在上下文中调用输出函数

Javascript ngxd不会在上下文中调用输出函数,javascript,angular,Javascript,Angular,我使用动态加载组件 文件说: 输入和输出将自动绑定 但在我的代码中,我将上下文传递给具有close函数的组件。它传递给组件的值输入,但当我从组件发出close时,它不会在fooContext内触发close函数 为什么??如何解决这个问题?它应该调用close函数并在close中在控制台上输出 密码输入 如本文所述,如果要绑定输出,则必须在使用ngxComponentOutlet的组件中创建输出。在您的情况下,它是AppComponent 如果要侦听AppComponent中的单击更改,可以订阅

我使用动态加载组件

文件说:

输入和输出将自动绑定

但在我的代码中,我将上下文传递给具有close函数的组件。它传递给组件的值输入,但当我从组件发出close时,它不会在fooContext内触发close函数

为什么??如何解决这个问题?它应该调用close函数并在close中在控制台上输出

密码输入

如本文所述,如果要绑定输出,则必须在使用ngxComponentOutlet的组件中创建输出。在您的情况下,它是AppComponent

如果要侦听AppComponent中的单击更改,可以订阅单击事件发射器,如下所示:

@Component({
  selector: "my-app",
  template: `
    <ng-container *ngxComponentOutlet="cmp; context: fooContext">
    </ng-container>
  `
})
export class AppComponent {
  cmp = FooComponent;
  @Output() close = new EventEmitter();

  fooContext = {
    value: "val"
  };
   
  constructor() {
   this.close.subscribe(value => {
     console.log("inClose");
   });
  }

}
@Component({
  selector: "my-app",
  template: `
    <ng-container *ngxComponentOutlet="cmp; context: fooContext">
    </ng-container>
  `
})
export class AppComponent {
  cmp = FooComponent;
  @Output() close = new EventEmitter();

  fooContext = {
    value: "val"
  };
   
  constructor() {
   this.close.subscribe(value => {
     console.log("inClose");
   });
  }

}