如何正确制作一个计数器angularjs

时间:2016-05-05 15:31:46

标签: javascript angularjs

我试图在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);
    }
  };
});

感谢帮助

1 个答案:

答案 0 :(得分:1)

尝试在$ apply方法回调中包装更改:

$scope.$apply(function(){
        $scope.myLocalVar +=1;
  });