2014-11-06 52 views
0

我們有一個使用Angular.js的HTML代碼如下特定條件,獲取長度基於使用Angular.js

<div ng-if="$scope.IsResult == false"> 
    <label style="font-weight: bold;"> Count : {{student.length }}</label> 
</div> 

在這裏,學生的JSON返回數組幷包含student.Active =幾條記錄假。

目前顯示所有學生人數。 我們只需要顯示活躍學生的長度,即student.Active = true。我如何在Angular.js中實現這一點。

請指教。

+0

我創建了一個[庫](https://bitbucket.org/no1_melman/simplelinq/overview),這也是你可以使用一些簡單的函數來操作數組。您可以使用'.Count({active:true})'來查找有多少項目已經設置爲true! – 2014-11-06 13:27:17

+0

@ No1_Melman [Underscore.js](http://underscorejs.org/)是另一個很棒的函數庫,它有很多像這樣的函數,它就像Javascript的Linq一樣,很酷 – JMK 2014-11-06 13:30:10

+0

@JMK是的,我的圖書館的目標是允許用戶使用底層api添加他們希望的任何內容。但在腳印和代碼方面也很簡約。有很多其他庫用於處理這個問題。我剛剛創建了我的庫,以確切的情況 – 2014-11-06 13:41:03

回答

1

你最好在你的控制器中加入一個函數來計算這個值,並從你的視圖中調用它。

所以在你的控制器:

$scope.countInactiveStudents = function(student){ 
    var count = 0; 
    for(var i = 0; i < student.length; i++){ 
     if(!student[i].Active){ 
      count++; 
     } 
    } 
    return count; 
} 

而在你的看法:

<label style="font-weight: bold;"> Count : {{countInactiveStudents(student) }}</label> 
+0

您應該將「i ++」替換爲「count ++」:) – Asik 2014-11-06 13:38:28

+0

@Asik哎呀感謝 – JMK 2014-11-06 13:39:23

+0

哇它的工作謝謝。雅這是計數++然後它的工作。 – Skyrim 2014-11-06 13:49:15