我有一个这样的控制器:
$scope.myVar = 0;
$scope.back = function () {
$scope.myVar--;
};
$scope.next = function () {
$scope.myVar++;
};
如果next()(使用ngClick)被调用3次,则得到:
// 1
// 2
// 3
但是如果调用了back()(带有ngSwipeLeft),它将返回
//-1
当我明显期望
// 2
我在这里想念什么?
更新:包括ngTouch详细信息-这似乎是问题。包括ngTouch。
当我观看myVar值时-就像它存在两次一样-一次是ngSwipeLeft调用,另一次是ngClick调用
最佳答案
您的摘要对我来说不错。您需要提供更多代码,错误可能在其他地方。看下面的代码。
<!doctype html>
<html ng-app="myapp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.20/angular-touch.min.js"></script>
<script>
var app = angular.module('myapp',['ngTouch']);
var controller = app.controller('mycontroller', ['$scope',function($scope){
$scope.myVar = 0;
$scope.back = function () {
$scope.myVar--;
};
$scope.next = function () {
$scope.myVar++;
};
}]);
</script>
</head>
<body ng-controller="mycontroller">
<div>
<h1>MyVar: {{myVar}}!</h1>
<input type="button" value="back" ng-click="back()"/>
<input type="button" value="next" ng-click="next()"/>
</div>
</body>
</html>