首页 > 解决方案 > 是否可以对绑定到角度属性的值进行数学运算

问题描述

我有一个接收我的模型的 Angular 组件。在我的模型中,我有一个评分,这个评分以 % 表示,介于 0 和 1 之间。

在我看来,我使用的是 ngb-rating,它允许我设置评级 + 最大值。

我需要将此值显示为 6 星以上,所以我目前有这个:

<ngb-rating [(rate)]="topic.rating" [starTemplate]="t" [readonly]="true" max="6"></ngb-rating>

问题是我的值只在 0 和 1 之间变化,所以我应该能够使这个值在 0 和 6 之间。

我试过这个,但它不起作用:

<ngb-rating [(rate)]="(topic.rating *6)" [starTemplate]="t" [readonly]="true" max="6"></ngb-rating>

我的主题只是一个界面,它是从服务器生成的,它不关心它应该如何显示。

我该如何处理?

标签: angulartypescriptbinding

解决方案


第一种方法您可以在函数内进行所有数学运算并在模板中调用它

<ngb-rating [(rate)]="rating" [starTemplate]="t" [readonly]="true" max="6"></ngb-rating>

您可以像这样在该函数中设置一个变量并在模板中使用该变量

getRating(rating) {
this.rating = rating *6;
}

第二种方法

在查看 ngb-rating 之后,我认为您应该能够在模板中使用 [rate]="topic.rating*6" ,因为没有两种方式绑定您不需要使用 [(rate)]


推荐阅读