【发布时间】:2016-04-20 09:09:57
【问题描述】:
我是 AngularJS 的新手,非常感谢您的建议。 我有带图片的滑块:
<ul rn-carousel rn-carousel-index="carouselIndex" rn-carousel-buffered>
<li ng-repeat="slide in slides track by slide.id" ng-class="'id-' + slide.id">
<div ng-style="{'background-image': 'url(' + slide.image + ')'}" class="bgimage">
</div>
</li>
</ul>
在我的控制器中,我分配给$scope.slides 一些图像数组:
$scope.slides = [];
$.each(defaultImages,function(i, element)
{
var slide = {
image://...
};
$scope.slides.push(slide);
});
另外,我有一个改变幻灯片数组的函数:
$scope.colorClicked = function ($index, color_id) {
//...
$scope.slides = [];
$.each(images,function(i, element)
{
var slide = {
image:/...
};
$scope.slides.push(slide);
});
}
我有两个问题:
1) 它工作正常,但有时当我的colorClicked 函数触发时,当前显示在滑块上的图像并没有改变。
我想知道我应该以某种方式更新滑块或范围吗?我在函数中尝试了$scope.$apply(),但没有帮助。
2) 即使我将数组传递给幻灯片集合,我仍然会在控制台中收到错误:Error: the slides collection must be an Array虽然我的滑块工作正常。
【问题讨论】:
-
尝试将
ng-style更改为style="background-image: url({{slide.image}})" -
谢谢,但没有帮助
-
我们需要查看您的
images和defaultImages变量
标签: javascript jquery angularjs angularjs-scope angular-carousel