したがって、私はこのネストされた配列を持っています。私は、キーと値のペアが存在するかどうかをチェックし、存在する場合は、該当するクラスを問題の要素に追加します。AngularJS ng-classはネストされたキーと値のペアが存在するかどうかをチェックし、クラスとして値を追加します
私は表現のバリエーションを使用しようとしている:私の式はもう少し複雑であり、私はそれだけでそのように使用することが多すぎるのです怖いしかし
ng-class="{ 'active' : data.indexOf('"name":"john"') >= 0 }"
を。 3つ以上のレベルのネストされた引用符を使用するという問題もあります。ここで
は、私が働いているものに類似した構造を持つ配列を使用したバイオリンです:
http://jsfiddle.net/5tvmL2Lg/2/
はHTML:
<body ng-app="myModule">
<div ng-controller="myController">
<div ng-repeat="hero in heroes">
<div ng-class="{ 'weight-\'hero.stats.indexOf('\'type\':\'weight\'').value\'' : hero.stats.indexOf('\'type\':\'weight\'') >= 0 }">
hello
</div>
</div>
</div>
</body>
JS:では
var myModule = angular.module('myModule', []);
myModule.controller('myController', ['$scope', function($scope) {
$scope.heroes = [{
"firstname" : "clark",
"lastname" : "kent",
"stats" : [
{
"type" : "height",
"value" : "6'2"
},
{
"type" : "weight",
"value" : 220
},
{
"type" : "hair",
"value" : "brown"
}
]},
{
"firstname" : "bruce",
"lastname" : "wayne",
"stats" : [
{
"type" : "height",
"value" : "6'1"
},
{
"type" : "hair",
"value" : "black"
}
]},
{
"firstname" : "peter",
"lastname" : "parker",
"stats" : [
{
"type" : "height",
"value" : "5'11"
},
{
"type" : "weight",
"value" : 180
},
{
"type" : "hair",
"value" : "auburn"
}
]}];
}]);
最終的には、 "c"クラスに "weight-220"というクラスを追加することが目標ですlark kent "div、" bruce wayne "divのクラスなし、ピーターパークパーツの" weight-180 "
は、私はあなたがあなたのng-class
にすべてのコードのロジックを追加する必要はありません:)
まあ、博士クール、これはまさに私が意図していることをありがとう、ありがとう、実際には思ったより簡単です...私は今、愚かな気がしますが、とにかくあなたの助けてくれてありがとう! – jeanmarc
btw私はあなたに重量変数が何をしているのか尋ねてもいいですか? – jeanmarc
ああ、おっと...私はこれをやるつもりでした。「戻ってくる」「体重+体重」ですが、それを忘れて、ちょうどその価値自体を返しました。 '' weight = ''行を削除することができます。 –