首页 > 其他分享 >ng-zorro走马灯carousel轮播图不自动轮播问题

ng-zorro走马灯carousel轮播图不自动轮播问题

时间:2024-10-28 15:10:31浏览次数:1  
标签:轮播 zorro ng carousel res 组件 array getData

原文链接:ng-zorro走马灯carousel轮播图不自动轮播问题 – 每天进步一点点

 

angular项目(angular 7),ng-zorro(7.5.x)

使用carousel走马灯设置自动轮播图功能,从官网上copy下一段代码如下:

 <nz-carousel nzAutoPlay>
      <div nz-carousel-content *ngFor="let index of array">
        <h3>{{ index }}</h3>
      </div>
 </nz-carousel>

其中array的定义是这样:

 array = [1, 2, 3, 4];

这段代码可以很好的进行自动轮播。

但是我模仿了上面的代码后,页面上的图片却不自动轮播,而且在我点击下一个或者手动拖动图片滚动一下时,图片才开始自动轮播。

我的代码大概是下面这个意思:

array:any=[]; //全局数组

 ngOnInit() {
   this.getData(){}
 }
//请求数据的方法
getData(){
 let url=`xxxxx`
 this.http.get(url).subscribe((res: any) => {
      this.array=res.data
  });
}

为什么会这样呢?

因为是异步加载的,carousel这个组件预先于数据进行加载,加载时数据还没有完全填充完毕,所以组件会认为只有一张图片,当我们手动点击这个组件时,组件重新读取了已经填充完毕的数据,所以才开始自动播放。

如何解决这个问题呢?其实也简单,就是当数据完全填充完毕时才开始渲染组件,为此,我们可以使用 ngIf(其他方法满足此思路都可以)

我把代码改成下面这样:

HTML:

<div *ngIf="showCarousel">
   <nz-carousel nzAutoPlay>
      <div nz-carousel-content *ngFor="let index of array">
        <h3>{{ index }}</h3>
      </div>
  </nz-carousel>
</div>

TS:

array:any=[]; //全局数组

showCarousel=false;  //是否展示轮播图

 ngOnInit() {
   this.getData(){}
 }
//请求数据的方法
getData(){

 this.showCarousel=false
 let url=`xxxxx`
 this.http.get(url).subscribe((res: any) => {

      if(res.data.length>0){
       this.array=res.data

       this.showCarousel=true
      }
  });
}

因为ngIf是完全删除或加载dom节点,所以,有数据的时候才会填充carousel组件。

标签:轮播,zorro,ng,carousel,res,组件,array,getData
From: https://www.cnblogs.com/longkui-site/p/18510665

相关文章

  • Springboot整合Swagger3
    1、pom.xml依赖<!--Swagger3依赖--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>${swagger.version}</version>......
  • nginx 根路径同时代理 http ws sse 三种请求
    HTTP(HyperTextTransferProtocol):超文本传输协议,是用于在客户端(通常是web浏览器)和服务器之间传输数据的协议。HTTP是Web的基础,用于请求和传输网页、图像、视频等资源。它采用请求-响应模型,支持多种方法(如GET、POST等),并可通过HTTP/1.1和HTTP/2等版本进行优化,以提高性能和用户体验。......
  • SpringBoot整合Mybatis
    1、项目结构 2、pom.xml依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=&q......
  • 【Java源码】基于SpringBoot的校园二手交易市场
    1项目介绍本课程演示的是一套基于SpringBoot的校园二手交易市场,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。包含:项目源码、项目文档、数据库脚本、软件工具等所有资料带你从零开始部署运行本套系统该项目附带的源码资料可作为毕设使用系......
  • 【Java】【SpringBoot】logback开发环境配置
    LogBack开发环境配置Logback是一个开源的日志记录库,它是log4j的一个改进版本。Logback被设计为易于使用,同时提供强大的日志管理功能。1.添加依赖在pom.xml文件中添加依赖:<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <vers......
  • 网上摄影工作室:Spring Boot框架的应用实例
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • Spring Boot技术:构建高效能网上摄影工作室
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • 邮件系统之Exchange 常用的端口
     1 Exchange常用的端口协议Port描述SMTPTCP:25SMTP服务使用TCP端口25。DNSTCP/UDP:53DNS侦听端口53。域控制器使用此端口。LSATCP:691MicrosoftExchangeRoutingEngine服务(RESvc)在此端口上侦听路由链接状态信息。LDAP......
  • springcloud分布式微服务 java高速公路收费管理系统
    目录课题介绍具体实现截图开发核心技术:开发工具开发技术SpringCloudEureka详细视频演示核心代码部分展示系统设计需求分析可行性论证源码获取课题介绍根据高速公路收费管理系统的系统分析结果,整个系统包括以下各个单元:管理员,用户,收费站,交通流量,车道信息,通知通知公......
  • 微服务分布式springcloud高校竞赛活动报名管理系统
    目录课题介绍具体实现截图开发核心技术:开发工具开发技术SpringCloudEureka详细视频演示核心代码部分展示系统设计需求分析可行性论证源码获取课题介绍与高校竞赛活动报名管理系统管理者及学生交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能......