Angular 角度2:生成随机整数抛出错误

Angular 角度2:生成随机整数抛出错误,angular,random,Angular,Random,我有一个列表,其中我使用一个随机数来选择一个化身,并抛出以下错误: HelloIonicPage.html:33 ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. 视图: 我想你可以试试背景图像和[ngStyle] HTML 我希望它能帮上忙 我想,这是一个开放的问题,在这里,所以尝试不同的方法,直到angular的家伙解决它。我是angu

我有一个列表,其中我使用一个随机数来选择一个化身,并抛出以下错误:

HelloIonicPage.html:33 ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.
视图:


我想你可以试试
背景图像
[ngStyle]

HTML


我希望它能帮上忙

我想,这是一个开放的问题,在这里,所以尝试不同的方法,直到angular的家伙解决它。我是angular的新手,真的不知道更好的方法。你能给我一个吗?这个代码做什么>代码>让r= GeTra/CODE >?对不起,这是多余的代码,它可能在动态的<代码> SRC < /代码>中疯狂地在一个可变的列表中迭代。我认为这段代码可能在每次评估
客户机时都试图更改
src
(只需在页面上单击即可),这仍然会引发相同的错误。我是否必须创建
Client
组件并使用一个随机数变量?这似乎需要做很多工作,你确定吗?我举了个例子。你使用什么版本的angular?angular 2还是更具体的意思?可能是我在循环中使用我的吗?是的,更具体。它还与
*ngFor
配合使用。查看此
离子框架:3.0.1离子应用程序脚本:1.3.0 Angular Core:4.0.0 Angular编译器CLI:4.0.0节点:4.2.2
  <ion-list>
    <ion-item *ngFor="let client of clients; let i = index;>
      <ion-avatar item-left>
        <img [src]="getRandomInt(0, 9)">
      </ion-avatar>
    </ion-item>
  </ion-list>
getRandomInt(min, max) {
    let num =  Math.floor(Math.random() * (max - min + 1)) + min;
    return "https://randomuser.me/api/portraits/lego/" + num + ".jpg"
}
<ion-list>
  <ion-item *ngFor="let client of clients; let i = index; let r = getRa" >
    <ion-avatar item-left>
     <div class="avatar-photo" [ngStyle]="{ 'background-image': 'url(' + getRandomInt(0, 9) + ')' }"></div>
    </ion-avatar>
  </ion-item>
</ion-list>
.avatar-photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background-size: contain;
    background-repeat: no-repeat;
}