【发布时间】:2017-10-19 13:06:02
【问题描述】:
我意识到这可能与 this 或 this,但我对此视而不见。我从一个休息 api 获取我的数据作为一个对象,其中包含投票数。 切换功能适用于所有 fontawesome 图标,而不仅仅是特定图标,即使计数器工作正常。 我希望在按下图标时在特定故事上切换填充的心形图标。再次按下时反之亦然。
我正在使用 angular4 和 fontawesome 5。
数据来自我的服务中的一个 observable。
组件:
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或假 -
问题是,它会切换页面上的每个图标
-
我添加了图片
-
这些不同的类 'far' 和 'fas' 不应该像
'fa fa-heart'和'fa fa-heart-o'吗?
标签: html angular api typescript