2016-07-28 15 views
1

フォームからサービスからデータを取得しています。角度jsでng-ifを適用する方法

[["Sql Injection",0],["Proxy Abuse",0],["Spam",0],["Information and Source Code Leakage",0],["System Command Injection",0],["Cross-Site Request Forgery",0],["Session Hijacking",0],["PHP Injection",0],["Request Anomaly",0],["Local/Remote File Inclusion",0],["Cross-Site Scripting",0]]. 

今私は、各攻撃タイプのカウントがゼロで、その後何も表示されている場合ことをしたいです。 ng-ifでこれをどうやって処理できますか? テンプレートコード:

あなたが行うことができます
<div class="col-md-6 b-r b-light no-border-xs" ng-show="webSummary[0]"> 
    <highchart id="chart1" config="webConfig" class="span9" ></highchart>   
</div> 
+0

ng-if = "webSummary.length" – Lakshay

+0

それは助けにはならない、私はすでにそれを試してみました。 –

答えて

2

angular 
 
    .module('MyApp', []) 
 
    .controller('MyController', function($scope) { 
 
    $scope.webSummary = [["Sql Injection",0],["Proxy Abuse",0],["Spam",0],["Information and Source Code Leakage",0],["System Command Injection",0],["Cross-Site Request Forgery",0],["Session Hijacking",0],["PHP Injection",0],["Request Anomaly",0],["Local/Remote File Inclusion",0],["Cross-Site Scripting",0]]; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="MyApp" ng-controller="MyController"> 
 
    <div class="col-md-6 b-r b-light no-border-xs" 
 
     ng-repeat="ws in webSummary" 
 
     ng-if="ws[1]"> 
 
    <highchart id="chart1" config="webConfig" class="span9"></highchart> 
 
    </div> 
 
</div>

+1

良い答えですが、すべての攻撃数がゼロのときに視覚化を表示する必要はありません。 –

+1

私はコードにコメントを追加しました: '//デモ用:[" System Command Injection "、2]' –

+0

@AbdulMajeed元の配列 'webSummary'に基づいて答えを更新しました...今何も表示しません。 –

1

あなたはコントローラ

<div class="col-md-6 b-r b-light no-border-xs" ng-if="checkAttackCount()"> 
    <highchart id="chart1" config="webConfig" class="span9" ></highchart>   
</div> 

を行うことができます

function checkAttackCount(){  
    for(var i=0;i<webSummary.length;i++){ 
    if(webSummary[i][1]>0){ 
     return true; 
    } 
    }  
    return false; 
} 
+1

ありがとうございます。 –

関連する問題