角度ng-repeatを使用してスコープのデータを表示するサイトがありますが、すべて正常に動作しますが、パーセンテージを表示するにはアイテム数をカウントする必要がありますオンラインでソリューションを見つけることができます。私はAngularとJSにはまだまだ新しいので、簡単な解決策であれば謝ります。1行あたりのanglejsスコープの値を持つアイテムをカウントする
以下、私が達成するために探しています何の簡略化と一般化した例である:
$scope.devices = [
{Detail_A:'ShowA1',Detail_B:'ShowB1',Status_A:'',Status_B:'OK',Status_C:'',Status_D:'OK',ENG_A:'OK',ENG_B:'OK',ENG_C:'OK'},
{Detail_A:'ShowA2',Detail_B:'ShowB2',Status_A:'OK',Status_B:'OK',Status_C:'OK',Status_D:'OK',ENG_A:'',ENG_B:'',ENG_C:''},
{Detail_A:'ShowA3',Detail_B:'ShowB3',Status_A:'OK',Status_B:'OK',Status_C:'OK',Status_D:'OK',ENG_A:'OK',ENG_B:'OK',ENG_C:'OK'}
]
私は2つ前の固定項目内の「OK」状態の項目の割合を表示したいと思います:STATUS_ *とENG_ *。これは、グループごとに計算するためにプレフィックスを使用できるようにするために、それぞれをループするか、またはよりよくループする必要があります。
<div ng-repeat="device in devices">
<div class="col-md-2">{{StatusPercentComplete}}</div>
<div class="col-md-1">{{ENGPercentComplete}}</div>
<div class="col-md-1">{{device.Detail_A}}</div>
<div class="col-md-1">{{device.Detail_B}}</div>
</div>
したがって、行1の場合、StatusPercentCompleteは50%になり、ENGPercentCompleteは100%になります。
いずれの方向も高く評価されます。
これは私の開発環境に大きな感謝をもたらしました。どのようにダイナミックで、私のニーズに簡単に変えられるかは素晴らしいです。ロダッシュは私には新しいものなので、素晴らしいツールになるためのルックスとしてそれをさらに見ていきます。 – Andrew
@ bennet-adamsこれはうまくいっていますが、var ctrl = thisを宣言してから、コントローラをMainとして呼び出す理由は何ですか?それは素晴らしいですが、私はvarのためにスコープの他の変更を行うのに苦労します、ほとんど私の理解の不足からそうです。 – Andrew
スコープされた変数を特定のコントローラに明示的に結びつけるためには、特に "入れ子"のために["controller as"構文](https://toddmotto.com/digging-into-angulars-controller-as-syntax/)を使用することをお勧めしますスコープ厳密には必要ではありませんが、ウォッチャーとイベントリスナーに$ scopeを注入する必要がありますが、これは角度^ 1.2の推奨方法です。 –