我意识到这可能是 this或this的副本,但我已经对此失明。我从一个休息API获取我的数据作为一个对象,其中包含票数。 切换功能适用于所有fontawesome图标,而不仅仅是特定的,即使计数器工作正常。 我想要填充的心脏图标在特定的故事上切换,当图标被按下时。当它再次被按下时反之亦然。Angular 4切换fontawesome按钮内ng对于
我使用angular4和fontawesome 5
的数据是从可观察到的在我的服务。
组件:
private vote(story) {
this.liked = !this.liked; //heart filled
if (story.userVote == false) {
this.storiesService.voteStory(story.objectID)
.subscribe(
(data) => {
console.log("Added upvote")
story.votes++; //api counter
console.log(story.votes)
story.userVote = true; //api call
})
} else if (story.userVote == true) {
this.storiesService.unVoteStory(story.objectID)
.subscribe(
(data) => {
console.log("Removed upvote")
story.votes--;
console.log(story.votes)
story.userVote = false;
})
}
}
HTML:
<a (click)="vote(story)" style="font-size: 13px;" *ngIf="!liked" matTooltip="Like story" matTooltipPosition="above"><i class="far fa-heart"></i> {{ story.votes || 0 }} </a>
<a (click)="vote(story)" style="font-size: 13px;" *ngIf="liked" matTooltip="Like story" matTooltipPosition="above"><i class="fas fa-heart"></i> {{ story.votes || 0 }} </a>
你能解释一下确切的问题是什么吗? –
是的,当图标被按下时,我想让填充的心脏图标在特定故事上切换。当它再次被按下时反之亦然。 'this.liked = true'或false – byblix
问题是,它切换页面上的每一个图标 – byblix