Angular7在父组件执行操作时将新数据传递给子组件

Angular7在父组件执行操作时将新数据传递给子组件,angular,parent-child,onchange,reload,Angular,Parent Child,Onchange,Reload,父组件包含子组件和按钮 父项包含字符串颜色:[color]=color 当点击按钮时 数据被传递到子级并触发ngOnChanges parent.html “changeColor()”>更改颜色 parent.ts color = {color: 'blue'} changeColor(){ this.color.color = 'red' } child.ts @Input() public color: string; ngOnChanges() { console.log('

父组件包含子组件和按钮

父项包含字符串颜色:
[color]=color

当点击按钮时

数据被传递到子级并触发
ngOnChanges

parent.html

“changeColor()”>更改颜色
parent.ts

color = {color: 'blue'}
changeColor(){
  this.color.color = 'red'
}
child.ts

@Input() public color: string;
ngOnChanges() {
  console.log('onchange')
}
child.html

color.color

未触发
ngOnChanges
,但html对更改做出了反应代码中的逻辑良好,但语法关闭:

“changeColor()”/>
this.color=Object.assign({},this.color);

传递对象时将触发onchange

谢谢您的回复,现在的问题是如何将更改后的颜色传递给子对象,我上传时语法错误。这就是您已经将颜色传递给子对象的地方:
[color]='color'
。每次更改
颜色时,Angular将通过更新版本。您是否有
@Input()颜色在子组件中?你能把代码添加到问题中吗?我已经编辑了代码,请再次检查,谢谢你编辑了很多,现在问题与以前不同了,我将用以前版本代码的问题编辑我的答案。(不要修改要传递的对象的字段,Angular不会看到该更改,请像以前一样修改对象的引用)。