【发布时间】:2017-06-23 19:56:50
【问题描述】:
我在实施角形表带和光滑的旋转木马时遇到问题。我有用于处理标签的角带和用于不同标签的每个内容的光滑旋转木马。 问题是,当我更改选项卡时,它会一张一张地显示光滑轮播的图像。 我无法弄清楚问题是什么,有人可以帮助我吗? 照片中的问题:
我的标签控制器:
app.controller('TabsVinoteca', function($scope, $templateCache) {
$scope.tabs = [
{title:'VINOS',
page: 'views/vinoteca/vinos.html'},
{title:'ESPUMANTES',
page: 'views/vinoteca/espumantes.html'}
];
});
我的光滑轮播控制器代码:
app.controller('SlickWinery', function ($scope, $timeout) {
$scope.slickConfig3Loaded = true;
$scope.slickCurrentIndex = 1;
$scope.slickConfig = {
autoplay: false,
dots: false,
nextArrow: '<span class="right slick-next"><i class="glyphicon glyphicon-chevron-right"></i></span>',
prevArrow: '<span class="left slick-prev"><i class="glyphicon glyphicon-chevron-left"></i></span>',
centerMode: true,
centerPadding: '60px',
slidesToShow: 3,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3
}
},
{
breakpoint: 480,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 1
}
}
],
method: {},
event: {}
};
});
我的html代码:
<div class="container-fluid" id="sliderBrands" ng-controller="SlickWinery">
<h4>VINOS</h4>
<div class="col-lg-12 hoverGray">
<slick class="slider" settings="slickConfig" ng-if="slickConfig3Loaded" dots="true">
<div>
<a href="#" tabindex="1"><img ng-src="img/home/bodegas/1.png"/></a>
</div>
<div>
<a href="#" tabindex="2"><img ng-src="img/home/bodegas/2.png"/></a>
</div>
<div>
<a href="#" tabindex="3"><img ng-src="img/home/bodegas/3.png"/></a>
</div>
<div>
<a href="#" tabindex="4"><img ng-src="img/home/bodegas/4.png"/></a>
</div>
<div>
<a href="#" tabindex="5"><img ng-src="img/home/bodegas/5.png"/></a>
</div>
</slick>
</div>
</div>
【问题讨论】:
-
你能截取检查器渲染的内容吗?我敢打赌你的轮播在那里,但它在图像加载之前初始化,所以这些容器没有大小。您可以尝试做的另一件事是在光滑的 div 上设置一个硬高度值。
-
等等,nm,我在尝试在 Bootstrap 选项卡式内容组件中呈现 angular-slick 时遇到了这个问题。您需要切换到 vanilla Slick 并使用 $timeout 强制 init 等到选项卡式内容完成后。 Slick 必须评估它所在的尺寸,然后为其所有部分设置内联高度/宽度。如果它所在的维度在渲染时不断变化,那么它提供的一切都是不稳定的。
-
如果你也嵌套了 Angular-Slick 滑块,就会发生这种情况。我知道,因为我从来没有见过艺术总监不想再推五个轮播的轮播。
-
如果有意/有意识地使用,$timeout 非常糟糕:Loupe demo
-
Hi @NominalAeon 在检查器中向我展示了 style="width:0px" 但我尝试在我的主 css、slick.css 和 div 元素的样式属性中进行更改,并尝试使用“!重要”并且不工作!我很绝望!!谢谢回答!!
标签: angularjs slick.js angular-strap