#angular #typescript
Вопрос:
Я хочу, чтобы что-то выполнялось в функции только тогда, когда переменная имеет значение true. Эта changeAddressPermision
переменная изменяется во всплывающем окне — когда пользователь нажимает «Отмена changeAddressPermision
«, значение false, а когда пользователь нажимает «Подтвердить changeAddressPermision
«, значение true. Всплывающее окно выглядит так:
<div *ngIf="!isPopupClosed" class="popup">
<p class="popup__text">Are you sure you want to change address?</p>
<div class="popup-button__div">
<button class="popup__button" (click)="isPopupClosed = true; changeAddressPermision = true">Yes</button>
<button class="popup__button" (click)="isPopupClosed = true; changeAddressPermision = false">Cancel</button>
</div>
</div>
Это должно работать так:
Функция x прослушивает изменение переменной — если пользователь нажимает » Да » — всплывающее окно закрывается, и функция x делает что-то на основе changeAddressPermision
. Он должен ждать, пока пользователь нажмет на всплывающее окно, и если пользователь что — то нажмет-он что-то сделает, если changeAddressPermision == false or true
Ответ №1:
Вы можете достичь этого, добавив сеттер/геттер для changeAddressPermision
следующих целей:
set changeAddressPermision(value: boolean) {
this._changeAddressPermision = value;
if (value) {
// do something here if value is true
} else {
// do something here if value is false
}
}
get changeAddressPermision(): boolean {
return this._changeAddressPermision;
}
private _changeAddressPermision: boolean;