Я пытаюсь сделать любимым, когда кликаешь, он должен менять цвет, но он меняет цвет только при перезагрузке страницы. Мне нужно изменить его, когда я нажимаю без необходимости перезагрузки страницы. Это мой код и демо Stackblitz .
HTML
<mat-icon *ngIf="conference.favourite === true" [ngClass]="{'true' : conference.favourite === true?'true' : flag === true? true:false}" (click)="unfavour(conference.conferenceId)">favorite</mat-icon>
<mat-icon *ngIf="conference.favourite === false" [ngClass]="{'false' : conference.favourite === false?'false' : flag === false? false:true}" (click)="passFavor(conference.conferenceId)">favorite</mat-icon>
Компонент
public flag: boolean = false;
GetFavourite(event){
const userid = this.service.getUserId();
console.log(userid, event)
let requestData = {
userId:userid,
conferenceId:event,
favourite:true
}
return this.http.favourite(requestData).subscribe(res =>{
this.flag = this._conference['favourite'];
console.log(this._conference['favourite']);
})
}
unfavourite(event){
const userid = this.service.getUserId();
let requestData = {
userId:userid,
conferenceId:event,
favourite:false
}
return this.http.favourite(requestData).subscribe(res =>{
this.flag = this._conference['favourite'];
console.log(this._conference['favourite']);
})
}
CSS
.true{
color: #FF4040;
}
.false{
color: #000;
}