我不确定为什么ng-click没有拿起这个功能。我尝试将我的'Next'函数分配给范围变量,但它仍然无效。
这是HTML(排除元素中的'App'位)
<div ng-controller="CarouselCtrl">
<div>
<img src="" class="carousel-arrow" ng-click="Next();">
<h1>{{Index}}</h1>
</div>
</div>
这是JavaScript
var App = angular.module('App', []);
App.controller('CarouselCtrl', ['$scope', function($scope) {
var Carousel = {};
Carousel.Data = ['Slide 1', 'Slide 2', 'Slide 3', 'Slide 4', 'Slide 5']
Carousel.Index = 0;
Carousel.Next = function() {
if (Carousel.Index >= Carousel.Data.length) {
Carousel.Index = 0;
} else {
Carousel.Index++
}
}
$scope.Index = Carousel.Data[Carousel.Index];
$scope.Next = function(){
Carousel.Next();
console.log('clicked');
}
}]);
答案 0 :(得分:1)
$scope.Next = Carousel.Next();
更改为
$scope.Next = Carousel.Next;
通过执行$scope.Next = Carousel.Next();
,范围Next
不再是函数,而只是Carousel.Next()
函数返回的值。所以你要做的就是像上面一样分配函数定义。
<强>更新强>
$scope.Next = function(){
Carousel.Next();
$scope.Index = Carousel.Data[Carousel.Index];
console.log('clicked');
}