Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 通过数组迭代更新ngIf。制作简单的幻灯片_Arrays_Angular_Angular Ng If_Two Way Binding - Fatal编程技术网

Arrays 通过数组迭代更新ngIf。制作简单的幻灯片

Arrays 通过数组迭代更新ngIf。制作简单的幻灯片,arrays,angular,angular-ng-if,two-way-binding,Arrays,Angular,Angular Ng If,Two Way Binding,我在玩创建自己的图像幻灯片,然后开始玩阵列。我不确定如何解决这个问题,所以我在我想显示和隐藏的每个元素中设置ngIf,在类中为每个元素设置值,然后将它们拉入数组 我想这就是我错的地方,但我看不出来。我可以通过slideShow函数在每次迭代中将每个数组元素更新为True,但我不确定返回什么。我想我错过了一些非常简单的东西,但我不确定是什么 下面是stackblitz更新的答案 将幻灯片阵列定义为组件类属性 // probably just above constructor slideArra

我在玩创建自己的图像幻灯片,然后开始玩阵列。我不确定如何解决这个问题,所以我在我想显示和隐藏的每个元素中设置ngIf,在类中为每个元素设置值,然后将它们拉入数组

我想这就是我错的地方,但我看不出来。我可以通过slideShow函数在每次迭代中将每个数组元素更新为True,但我不确定返回什么。我想我错过了一些非常简单的东西,但我不确定是什么

下面是stackblitz更新的答案


将幻灯片阵列定义为组件类属性

// probably just above constructor
slideArray = [this.slider1, this.slider2, this.slider3, this.slider4];
然后在超时功能中:

将所有
slideArray
替换为
this.slideArray

当您调用
timeout(图像)时,按
timeout.call执行(这个,图像)


完成以上所有操作后,
slideArray
将作为返回值,并在组件html文件中可用

我用一个新的步骤修改了我的答案,调用
timeout(images)
感谢您的帮助。我还是会出错。我更新了stackblitz你介意快速查看一下吗。我可能有一个错误,我没有看到。对不起,我犯了一个错误,不是
timeout(images.call()
,而是
timeout.call(this,images)stackblitz的工作链接在这里:Sweet,我应该知道调用应该链接到函数之外。那么,如何更新this.slider1等等?
// probably just above constructor
slideArray = [this.slider1, this.slider2, this.slider3, this.slider4];