2015-02-24 103 views
0

重复的div我在angularjs每次点击角

$scope.count = 0; 
    $scope.increment = function(){ 
     $scope.count = $scope.count + 1; 
     console.log("count " + $scope.count); 
    }; 
    $scope.decrement = function() { 
     if($scope.count > 0) { 
      $scope.count = $scope.count - 1; 
     } 
    }; 

一个计数器,并且如果计数值大于1的计数器由在点击一个按钮递增我会显示一个div。每次我点击我增加计数器。事实上,柜台进展顺利,但我会在每次点击时创建一个div。现在我只能生成一个div。这是HTML的一部分

<a class="uk-button" data-ng-click="increment()"> 
    <i class="uk-icon-plus" ></i> 
    New div 
</a> 
<div class="uk-panel" data-ng-if="count >= 1"> 
    <hr> 
    <div class="uk-panel uk-width-1-1 qt-add-row"> 
     <form class="uk-form uk-form-horizontal uk-float-left"> 
      <div class="uk-form-row" data-ng-repeat="item in data.row"> 
       <label class="uk-form-label" for="form">{{item.name}}</label> 
       <div class="uk-form-controls uk-width-1-1"> 
        <input id="form" class="uk-width-1-1" type="text" placeholder="{{item.name}}" ng-model="field.value"> 
         <span style="position: absolute" class="uk-button-group"> 

          <a class="uk-button" href="#"> 
           <i class="uk-icon-close"></i> 
          </a> 
         </span> 
       </div> 
      </div> 
     </form> 
    </div> 
</div> 
+0

你想重复哪个'div'? 'a'下面的父母“.uk-panel”? – matewka 2015-02-24 11:25:13

+0

确切的说,是的.... – 2015-02-24 11:26:41

回答

4

您可以添加ng-repeat指令到您的div。不幸的是ng-repeat只接受对象和数组,而不是数字。所以你还必须修改你的递增/递减函数

<div class="uk-panel" data-ng-if="countArr.length > 0" data-ng-repeat="i in countArr"> 

$scope.countArr = []; 
$scope.increment = function() { 
    $scope.countArr.push(''); 
}; 
$scope.decrement = function() { 
    $scope.countArr.splice(0, 1); 
}; 
+0

mmh,不幸的是在这种方式div不会出现在点击一次。 – 2015-02-24 11:31:07

+1

对,我忘了'ng-repeat'接受对象和数组,而不是数字。看看我编辑的答案。 – matewka 2015-02-24 11:38:34

+0

它现在完美运行!谢谢!!! – 2015-02-24 11:42:32