不确定这里的一切是否正确连接。目标是调用 nextSlide 函数,让它改变类,等待一秒钟,然后将当前图片递增 1,然后再改变类。我认为问题在于范围,但我没有在我的代码中的任何地方使用 $scope 并且所有示例都使用它。运行时会完全跳过超时。
如何让 $timeout 执行?
var app = angular.module('cole', []);
app.directive('slideShow',['$timeout', function() {
return{
restrict: 'E',
templateUrl: 'slide-show.html',
controller: function(){
this.nextSlide = function() {
document.getElementById("frontPic").className = "fadeOut";
this.$timeout(function() {
this.setCurrent(this.current + 1);
document.getElementById("frontPic").className = "picFront";
}, 1000);
};
},
controllerAs: 'pics'
};
}]);