で$スコープにCONCATENATE文字列。私はそれらの値が1に等しいかどうかチェックしたい、それを真に変更する、そうでなければ偽になる。アンギュラ私は名前を持つ4つの値を持つループ
私は4つの可変のため、この方法でこれを行うことができます:
if ($scope.restaurant.restaurantIsTop == 1 ?
$scope.restaurant.restaurantIsTop = true :
$scope.restaurant.restaurantIsTop = false);
if ($scope.restaurant.restaurantIsNew == 1 ?
$scope.restaurant.restaurantIsNew = true :
$scope.restaurant.restaurantIsNew =false);
if ($scope.restaurant.restaurantIsRecommended == 1 ?
$scope.restaurant.restaurantIsRecommended = true :
$scope.restaurant.restaurantIsRecommended =false);
if ($scope.restaurant.restaurantIsPromoted == 1 ?
$scope.restaurant.restaurantIsPromoted = true :
$scope.restaurant.restaurantIsPromoted =false);
絶対にそれは動作しますが、それは、複数の値のために効率的な方法ではありません。だから私は配列を作成しました:
var varietyArray = ["restaurantIsTop" ,
"restaurantIsRecommended",
"restaurantIsNew",
"restaurantIsPromoted"
];
angular.forEach (varietyArray, function (val) {
console.log($scope.restaurant.val);
})
そして、上記のループで4つの変数をチェックしたいと思います。なにか提案を ?
編集:
を私は角度マテリアルチェックボックスでそれらを表示したい:
<div class="col-sm-12">
<div class="md-form-group">
<md-checkbox ng-model="restaurant.restaurantIsTop ">
best
</md-checkbox>
<md-checkbox ng-model="restaurant.restaurantIsRecommended">
suggested
</md-checkbox>
<md-checkbox ng-model="restaurant.restaurantIsNew">
new
</md-checkbox>
<md-checkbox ng-model="restaurant.restaurantIsPromoted">
promote
</md-checkbox>
</div>
</div>
'0'と' 1'はデフォルトで 'falsy'と' truthy'です。同じ変数を変更すると、それはその意味を変更します。あなたは真実か偽であるかの視野に表示したいですか?それとも内部的な計算のためだけですか? –
そのような値のうち4つだけの場合は、他の場合は完璧です。可能であれば、三項演算子を使用しないでください。ここにリンクがあります。 http://stackoverflow.com/a/12022491/1907391 –
さらに、0は偽であり、1は最終的に真です。 –