我试图在angularjs中创建一个计数器,然后我会用这个计数器做其他事情,但我需要计数器首先使用var,这个问题是var没有被更新:S,这将是一个更复杂的组件,所以我需要它是一个可以显示为{{Var}}的var。
这就是我在html
上调用指令的方法<div test-directive var="5">-</div>
这是js指令,我尝试使用链接和控制器
app.directive('testDirective',function(){
return{
template: '<div> -> {{myLocalVar}} <- </div>',
scope:{
specialVar: '=var'
},
link: function($scope,element,attributes){
//console.log($scope.specialVar);
$scope.myLocalVar = $scope.specialVar;
//$scope.myLocalVar +=1 ;
function doThis(){
$scope.myLocalVar +=1 ;
//$scope.$digest();
console.log('in');
if($scope.myLocalVar < 10){
setTimeout(function(){doThis();}, 1000);
}
}
doThis();
//console.log($scope.myLocalVar);
}
};
});
感谢帮助
答案 0 :(得分:1)
尝试在$ apply方法回调中包装更改:
$scope.$apply(function(){
$scope.myLocalVar +=1;
});