如何在AngularJS中实现JavaScript闭包?
我正在使用一个函数来计算按钮的点击次数,如下所示:如何在AngularJS中实现JavaScript闭包?,javascript,angularjs,closures,Javascript,Angularjs,Closures,我正在使用一个函数来计算按钮的点击次数,如下所示: $scope.counterFunc = (function(){ var count = 0; console.log('i will be consoled only once'); return function(){ console.log(count); return ++count; } })(); 视图: <button ng-click="counterFu
$scope.counterFunc = (function(){
var count = 0;
console.log('i will be consoled only once');
return function(){
console.log(count);
return ++count;
}
})();
视图:
<button ng-click="counterFunc()">click me</button>
<div>
{{ count value }}
</div>
点击我
{{计数值}}
我可以控制计数值
,但如何在视图中显示它
我可以使用$scope
变量绑定计数值
进行查看,但我担心的是计数
不应该被反函数()之外的任何其他函数更改
还有别的办法吗 您的counterFunc()
已经在通过ng单击执行时返回递增的值。您可以将其分配给视图上的变量,如下所示
<button ng-click="count = counterFunc()">click me</button>
<div>
{{ count }}
</div>
现在,您将看到,每次按下重置按钮
,显示的值将变为0
。但是,当您再次按下单击我
时,它将从var count
的最后一个值开始
<button ng-click="count = counterFunc()">click me</button>
<div>
{{ count }}
</div>
<button ng-click="count = 0">Reset</button>