Pau*_*aul 3 data-binding angular
Angular 中有一种我不太明白的行为。假设我有两个组件:一个父级和一个子级。父组件将数据传递给子组件。
在子组件中:
我不知道我是否说清楚了,所以我做了这个plunker:
http://next.plnkr.co/edit/PnlotZxt3DLbAGAF?open=lib%2Fapp.ts&deferRun=1&preview
点击“更新薪水”来更新员工对象的薪水属性。点击“更新员工”以更新员工对象值。
有人可以向我解释这种行为吗?我虽然使用括号和 @Input() 仅用于单向数据绑定,但现在我很困惑。
谢谢!
Sun*_*ngh 10
它的对象引用问题。只要对象具有相同的引用,就可以检测到这些变化。
在您的情况下 - 您正在将新值分配给employee中断链的子组件。现在 Parent 指向不同的employee对象,而 child 指的是不同的employee.
简而言之,您始终需要确保可以更改对象的属性,但不应将(引用更改)重新分配给其他对象。
在您的示例中,我修改了更改
this.employee = this.employee2;
Run Code Online (Sandbox Code Playgroud)
到
Object.assign(this.employee,this.employee2); // this will change the existing object.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |