Javascript 角度:ngOnChanges未检测到更改?

Javascript 角度:ngOnChanges未检测到更改?,javascript,angular,typescript,Javascript,Angular,Typescript,我在一个组件中有一个下拉列表。每次下拉列表的值发生变化时,我都试图检测另一个组件中的变化值。但我有一个奇怪的问题。有时,当我更改dropdown的值时,它会触发ngOnChanges,有时则不会。我不知道为什么 这是我的代码: AppComp html 在浏览器控制台中,您可以看到它有时检测到更改,有时不检测 未检测到更改: 检测到更改: 当输入模糊时调用change函数。您可以像这样使用ngModel和ngModelChange函数: <td width="20%" class="cur

我在一个组件中有一个下拉列表。每次下拉列表的值发生变化时,我都试图检测另一个组件中的变化值。但我有一个奇怪的问题。有时,当我更改dropdown的值时,它会触发ngOnChanges,有时则不会。我不知道为什么

这是我的代码:

AppComp

html

在浏览器控制台中,您可以看到它有时检测到更改,有时不检测

未检测到更改:

检测到更改:


当输入模糊时调用change函数。您可以像这样使用ngModel和ngModelChange函数:

<td width="20%" class="cursor">
  <select (ngModelChange)="changedvalue($event)" [(ngModel)]="value"  class="form-control" name="level">
    <option  hidden selected> -- Select options -- </option>
    <option>Level 1</option>
    <option>Level 2</option>
  </select>
</td>

<td class="cursor">
 <app-other-comp [group]="group"></app-other-comp>
</td>

你能指出它被检测到的场景与没有检测到的场景吗?还是完全随机发生?你能观察到任何模式吗?将你的代码添加到StackBlitz中,但问题没有出现happens@LloydFrancis我注意到,在初始化组件之后,若我改变了值,它就不工作了,但在那个之后它开始工作,这意味着第一次它不起作用,但在它之后works@Junaid你有没有检查stackblitz链接?这似乎不是问题的原因。请检查问题中的stackblitz链接。它很好用。
group: string;

changedvalue(event: Event) {
   const value = (<HTMLSelectElement>event.target).value;
   this.group = value;
   console.log('From AppComp' + this.group);
  }
@Input() group: string;

ngOnChanges() {
    console.log('Changed : ' + this.group);
  }
<td width="20%" class="cursor">
  <select (ngModelChange)="changedvalue($event)" [(ngModel)]="value"  class="form-control" name="level">
    <option  hidden selected> -- Select options -- </option>
    <option>Level 1</option>
    <option>Level 2</option>
  </select>
</td>

<td class="cursor">
 <app-other-comp [group]="group"></app-other-comp>
</td>