我是 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);
});
}
我有两个问题:
colorClicked
1)它工作正常,但有时当我的函数触发时,当前显示在滑块上的图像并没有改变。
我想知道我应该以某种方式更新滑块或范围吗?我尝试$scope.$apply()
了我的功能,但没有帮助。
2)即使我将数组传递给幻灯片集合,我仍然在控制台中遇到错误:Error: the slides collection must be an Array
尽管我的滑块工作正常。