我用angular-responsive-carousel来做我的Angular 项目.

 <carousel [cellWidth]="'100%'" [objectFit]="'contain'" [margin]="40" [cellsToShow]="3">
      <div *ngFor="let service of services;" class="carousel-cell ">
        <div class="flex flex-col w-full">
          <img src={{service.image}} class="w-full" alt="" />
          <div class="service-shadow px-4 py-4 flex flex-col gap-2  rounded-b-xl">
            <p class="text-base font-bold ">{{service.title}}</p>
            <p class="text-sm text-[#00171BB2]">{{service.content}}</p>
            <div class="flex gap-2 items-center">
              <p class="text-[#2B3384] font-semibold">Learn More </p>
              <img src="/assets/images/icons/purple-arrow.svg" class="purple-arrow" alt="" />
            </div>
          </div>
          <div>
          </div>
        </div>
      </div>
 </carousel>

我不知道如何根据响应的变化来更改[cell ToShow].

我使用的是ANGLE版本13和TailWind css. TailWind css中有断点. max-2xl: 1536px [cellsToShow]=4 max-xl: 1280px [cellsToShow]=3 max-lg: 1024px [cellsToShow]=2 max-md: 768px [cellsToShow]=1

如果我的解释有什么不清楚的地方,请告诉我.

推荐答案

我不知道你的 carousel ,但你可以创建一个可观察的监听窗口大小的变化,然后使用贴图将数字1,2,3,4转换成

要收听我们使用的from Event rxjs操作符的"RESIZE"

我们需要从某个值开始,例如NULL,才能执行几乎一次

在"map"(实际上是我们判断"window.innerWidth")之后,我们返回1、2、3或4

最后,我们使用distictUnl,因为如果没有更改,我们就不需要做任何事情.

   cellsToShow$=fromEvent(window,'resize').pipe(
      startWith(null),
      map(_=>{
       if ((window.innerWidth)<768)
        return 1
       if ((window.innerWidth)<1024)
        return 2
       if ((window.innerWidth)<1280)
        return 3

        return 4
    }),
    distinctUntilChanged()
    )

现在您只需要使用异步管道

<carousel ... [cellsToShow]="cellsToShow$|async">

Angular相关问答推荐

如何在服务器端获取具有angular 17 ssr的查询参数?

RFDC.CommonJS或AMD依赖项可能会导致优化救助ANGURAL PROCEMENT with ngx-charts lib

RXJS运算符用于combineLatest,不含空值

基于另一个控制值显示值的Angular 数组

图像未显示在视图屏幕上-Angular 投影

倒计时计时器,每10秒重新启动一次,共4次

ANGLING:ExpressionChangedAfterChecked在嵌套形式中由子项添加验证器

无法在Mat-SideNav中绑定模式

在Angular 17的本地服务应用程序时禁用SSR

Angular keypress 存储空间而不是第一个字母

ng14中具有强类型表单的FormBuilder

如何重置表单中的特定字段?

使用 Angular2 将文件上传到 REST API

Angularmaterial步进器:禁用标题导航

如何在 Angular 6 中使用 mouseover 和 mouseout

`[(ngModel)]` vs `[(value)]`

具有多个订阅者的 Angular 2 Observable

缺少带有Angular的语言环境XXX的语言环境数据

IE11中的Angular4应用程序运行问题

如何使用formControlName和处理嵌套的formGroup?