我有一个儿童组件
parent.component.html
<child-component (changeVal) = "parentObj"></child-component>
Run Code Online (Sandbox Code Playgroud)
parent.component.ts
parentObj = {
someDate = new Date()
}
// function changing the parentObj
callOnClick() {
this.parentObj.someDate = new Date('20 June 2018');
}
Run Code Online (Sandbox Code Playgroud)
儿童组件
@Input('changeVal')
ngOnChanges() {
// console i never see
console.log('parentObj Changed and got me here');
}
Run Code Online (Sandbox Code Playgroud)
为什么在这种情况下onChanges挂钩没有运行?我正在改变callOnClick方法中的输入值,当changeVal的值改变时是不是应该触发?
小智 6
<child-component (changeVal) = "parentObj"></child-component>
Run Code Online (Sandbox Code Playgroud)
changeVal是代码中的输入,但是HTML中的输出.考虑使用此代替:
<child-component [changeVal] = "parentObj"></child-component>
Run Code Online (Sandbox Code Playgroud)
并声明一个变量作为输入,而不是你的函数.
@Input() changeVal: any;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2581 次 |
| 最近记录: |