В angular есть встроенная структура диалога действий, которую я должен использовать для отображения всплывающего окна действия, когда showDialog = true.
Диалоговое окно действия будет отображаться, когда showDialog=true, иначе диалоговое окно действия будет скрыто, когда showDialog=false
Приходится использовать методы установки и получения для вызова метода отмены, когда showDialog = false.
Однако при отладке кода он продолжает проверять методы получения и установки, даже если я не запускаю диалоговое окно действия.
Есть ли способ, которым я мог бы использовать метод жизненного цикла в Angular для сравнения предыдущего значения и текущего логического значения showDialog. Пример: если previousValue.showDialog != currentValue.showDialog, то вызовите только get showDialog(), set showDialog() и cancel().
Я думал об использовании какого-то метода жизненного цикла в Angular, например ngAfterViewInit(). Знаете ли вы, как сохранить предыдущее логическое значение showDialog, чтобы я мог сравнить его с текущим значением showDialog.
В React я мог бы использовать getDerivedStateFromProps, который имеет значение prev props, но знаете ли вы, есть ли аналогичный метод в Angular.
а.html
<action-dialog [(openDialog)]="showDialog"/>
б.html
<button (click)="showDialog = true">
{{intl.cleanNow | uppercase}}
</button>
a.ts
get showDialog() {
return this._showDialog;
}
set showDialog(val){
if (val === false) {
this.cancel();
} else if (val === true) {
this._showDialog = true;
}
}
cancel() {
this.showDialog = false;
this.form.reset({
throttle: this._originalThrottle || 50
});
}