使用属性用于存储项目是否已加星标,并绑定到该项目以显示其中一个或另一个图像。然后在未加星标图标的点击处理程序中使用另一个函数,使请求对其进行加星标并更新属性。
<img *ngIf="!isStarred" src="./images/star_unfilled.png" id="star-result" (click)="star()" alt="Star this result">
<img *ngIf="isStarred" src="./images/star_filled.png" id="star-result" (click)="unstar()" alt="Unstar this result">
并在视图模型,你有这样的:
isStarred: boolean = false;
star() {
// Do whatever it takes to star something
// And at the end update local status
isStarred = true;
}
unstar() {
// Do whatever it takes to star something
// And at the end update local status
isStarred = false;
}
你可以选择性地还使用单个img
元素并绑定取决于isStarred
值src属性。而不是star()和unstar()方法使用单一的toggleStar()
方法。数十个选项在这里。