如何从数组列表中选择随机图像?

时间:2018-10-29 07:07:05

标签: angular6

我有一组图像

 selectImages = ['https://bootdey.com/img/Content/user_1.jpg', 'https://bootdey.com/img/Content/user_2.jpg', 'https://bootdey.com/img/Content/user_3.jpg'];

我需要在html中显示随机图像。我具有以下选择图片的功能:

pickImage = function () {
    var myImage = this.selectImages[Math.floor(Math.random() * 3)];
    return myImage;
};

现在在html中,我做了{{pickImage}}。但是我遇到了错误:

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'src: https://bootdey.com/img/Content/user_3.jpg'. Current value: 'src: https://bootdey.com/img/Content/user_2.jpg'.

2 个答案:

答案 0 :(得分:1)

undefined

现在可以使用{{myImage}}的int html。

您必须在ngAfterViewInit中调用您的函数。

答案 1 :(得分:0)

您将不得不将其置于角度的生命周期挂钩之一。要么        ngAfterContentChecked()-在Angular检查投影到的内容后响应        指令/组件。 要么        ngAfterViewChecked()-在Angular检查组件的视图和子级后响应        视图/指令所在的视图。