Javascript 数学函数在angular 4 HTML中不起作用

Javascript 数学函数在angular 4 HTML中不起作用,javascript,angular,Javascript,Angular,使用以下行: <div class="card light-blue darken-4" [ngClass]="'card-grad-'+Math.floor(Math.random() * 10) + 1"> 和分量表 如何解决 甚至尝试使用decare var Math:any,也尝试在类中定义数学,但没有成功。在组件中声明数学。ts 数学=数学 或者创建一个函数来计算您的值并将其绑定到ng类 <span>{{Math.floor(Math.random() * 1

使用以下行:

<div class="card light-blue darken-4" [ngClass]="'card-grad-'+Math.floor(Math.random() * 10) + 1">
和分量表

如何解决


甚至尝试使用decare var Math:any,也尝试在类中定义数学,但没有成功。

在组件中声明数学。ts

数学=数学


或者创建一个函数来计算您的值并将其绑定到ng类

<span>{{Math.floor(Math.random() * 10) + 1}}</span>
尽管此表达式将引导您使用
错误:ExpressionChangedTerrithasBeenCheckedError:检查后,表达式已更改。以前的值:“6”。当前值:“3”。

仍然可以在模板中使用数学

有关表达式更改错误,请参见以下链接:

要消除该错误,您可以在app.module.ts中使用“enableProdMode”。 如下图所示:

import {enableProdMode } from '@angular/core';

export class AppModule {}
enableProdMode();
或者:可以使用angular/core的“ChangeDetectionStrategy”

从'@angular/core'导入{Component,ChangeDetectionStrategy};
@组成部分({
changeDetection:ChangeDetectionStrategy.OnPush,
选择器:“”,
templateUrl:'template.html',

})

在组件类中声明
Math=Math
属性。但不要在模板中使用random<代码>表达式在选中后已更改
将等待you@yurzui这正是正在发生的事情。有什么方法可以让它工作吗?按照您的回答做并不能解决我的问题,虽然我在控制台中没有收到任何错误,但我最终得到的类是这样的:
,这是不正确的,因为功能应该产生1到10Hi Shakti之间的随机数,然后它可能是一些其他问题,因为我得到的随机数仅在1到10之间。这里是相同的链接:
Math: any;
Constructor() {
    this.Math = Math;
}
import {enableProdMode } from '@angular/core';

export class AppModule {}
enableProdMode();