我有一个带有这样的 Controller :
$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>
关于javascript - angularjs,范围未跨函数更新 - 使用 ngTouch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559178/