为什么从父级发出后子级组件中的值不更改?

时间:2019-11-22 07:27:44

标签: angular angular6 angular8

我的子组件内部有一个父组件view-event-component

<app-visitor-component (message)="message($event)" [_event]="event"></app-visitor-component>

view-event-component里面有:

  public dataFromChild: any;

  message($event) {
      console.log($event);
      this.dataFromChild = $event;
  }

模板view-event-component是:

{{ dataFromChild }}

因此,当我使用@Output将数据从父级推送到子级时,总是收到以下消息:

message($event) {
   console.log($event);
}

但是变量未在模板中显示(呈现):

{{ dataFromChild }}

没有错误和警告。

我使用的是Angular和Mozilla Firefox的最新版本

2 个答案:

答案 0 :(得分:1)

如果您有:

changeDetection: ChangeDetectionStrategy.OnPush

手动触发changeDetection:

constructor(cd: ChangeDetectorRef) {}

triggerDetecton():void {
    this.cd.detectChanges();
}

您还应该提供StackBlitz来帮助我们更好地了解

答案 1 :(得分:0)

在孩子中尝试这样:

message= new EventEmitter<Object>();
messagefunction(event) {
    this.messageEvent.emit(event);
}