Допустим, у меня есть два компонента.A ParentComponent
и ChildComponent
.ParentComponent
имеет свойство age
и двусторонние привязки с ChildComponent
.
ParentComponent
import { Component } from "@angular/core"
@Component({
selector: "app-parent",
template: "<app-child [(age)]="age"></app-child>"
})
export class ParentComponent {
age = 25
}
ChildComponent
import { Component, Input, Output, EventEmitter } from "@angular/core"
@Component({
selector: "app-child",
template: "<p>{{ age }}</p>"
})
export class ChildComponent {
@Input()
age = 0
@Output()
ageChange = new EventEmitter()
}
Всякий раз, когда значениеage
изменения в ParentComponent
, Angular распространяет изменение на ChildComponent
.И когда ChildComponent
испускает событие ageChange
, изменения синхронизируются обратно в ParentComponent
.Когда происходит последнее, ParentComponent
обнаруживает, что его свойство изменилось, и передает изменения дочернему элементу.Но у ребенка уже есть новое значение!
Это кажется неэффективным.Есть ли способ предотвратить это «ложное» обновление?Я что-то упустил или это как Angular работает?