问题描述
我是角度的新手。我想动态设置 angular(11) owl carousel 的 startPosition。我在模型中使用 owl carousel 并从 api 获取数据。我设置了如下的自定义选项:
customOptions: OwlModule = {
loop: false,mouseDrag: true,touchDrag: true,pullDrag: false,dots: false,navSpeed: 700,navText: ['‹','›'],startPosition: this.sPosition,margin:30,responsive: {
0: {
items: 1
},400: {
items: 1
},740: {
items: 1
},940: {
items: 1
}
},nav: true
}
我已经使用全局变量设置了 startPosition,但没有更改 customOptions 中的 startPosition。我正在通过循环索引获取数据位置。
像点击图片然后用猫头鹰轮播打开模型并调用新的 api 来获取特定图片的场景。
代码:
show(id:number,i:number)
{
this.sPosition = i;
console.log("start :; " + JSON.stringify(this.customOptions));
this.galleryService. getgalleryView(id).subscribe(
response =>{
this.modelgallery = response;
this.getgalleryData1();
this.images = response;
},error =>{
console.log("model error :: " + error)
});
}
owl-carousel 代码:
<owl-carousel [options]="customOptions" [items]="images" [carouselClasses]="['owl-theme','sliding']" [id]="images.id">
<div class="item" *ngFor="let img of images">
<img style="height: 260px;width:100%;object-fit: cover;"
src='{{"assets/images/" + img.image}}' [alt]="img.name" [title]="img.name" />
<div class="card-body">
<h5 class="card-title">{{img.name}}</h5>
<p class="card-text">{{img.description}}</p>
</div>
</div>
</owl-carousel>
我也尝试设置如下数据:
this.sPosition = i;
this.mdata = JSON.stringify(this.customOptions);
console.log("With Stringify :",this.mdata);
// Parse from JSON
this.parsedJson = JSON.parse(this.mdata);
this.parsedJson.startPosition = this.sPosition;
console.log("With Parsed JSON :",this.parsedJson.startPosition);
console.log("start : " + JSON.stringify(this.customOptions));
正在更新 this.parsedJson.startPosition
中的数据,但未更新 carousel 的 startPosition。
我不明白为什么数据没有在 startPosition 中更新。
请建议我如何动态设置它?
抱歉英语不好。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)