2016-10-27 8 views
0

私のプロジェクトでは、opacity:0"ボタンがクリックできるので、red Numberdivはボタンですが、数字は100、4、9,14を隠す必要があるので、「表示なし」を使用します。AngularJs、 "100、4、9、14"要素表示なし?

番号100 divを判断して非表示にするにはどうすればよいですか?私はng-classまたはng-hideを使用して番号4,9,14 divを隠す方法を知らない。

これは私のコードです:

.bigDiv { 
     width: 500px; 
     height: 500px; 
     margin: 400px auto; 
     background-color: black; 
    } 

    ul { 
     font-size: 0px; 
     padding-left: 0px; 
    } 
    .circle { 
     width: 20px; 
     height: 20px; 
     border-radius: 10px; 
     background-color: green; 
     position: relative; 
    } 

    .todo-last { 
     position: absolute; 
     width: 33px; 
     height: 33px; 
     background-color: red; 
     left: 25px; 
     top: 25px; 
     font-size: 25px; 
     color: white; 
    } 
    .bigDiv li { 
     display: inline-block; 
     width: 100px; 
     height: 100px; 
     background-color: purple; 
    } 




    <body ng-app="app" ng-controller="controller"> 
    <div class="bigDiv"> 
     <ul> 
      <li ng-repeat="todo in todoArray"> 
       <div class="circle"> 
        <div class="todo-last"> 
         {{todo.text}} 
        </div> 
       </div> 
      </li> 
     </ul> 
    </div> 
</body> 

<script> 
     var app = angular.module('app',[]); 
     app.controller('controller',["$scope",function ($scope) { 
      var randomNum = Math.ceil(Math.random() * 15 + 1); 
      var array = []; 
      for(var i = 0 ; i < randomNum; i++){ 
       if((randomNum -2)===i){ 
        array.push({ 
         text: 100 
        }); 
        continue; 
       } 
       array.push(
         {text: i} 
       ) 
      } 
      $scope.todoArray = array; 

     }]) 
</script> 

もう一つはredのdivを非表示にします。

答えて

0

値が配列かどうか

$scope.display = function(val){ 
    if($scope.todoArray.indexOf(val) < 0) 
    return true; 
    else 
    return false; 
}; 

NG-場合によって非表示を表示するためにあなたのhtmlにする場合、最初にチェックするためにスコープの関数を記述

値あなたは配列に基づいて非表示にしたいようです、あなたのng-repeat内:

<div ng-if="display(todo.text)"> 
    // your other code 
</div> 
関連する問題