私はそうしたいのです。
ng-hide="!globals.isAdmin && mapping.is_default"
しかし、式は常にfalse
に評価されます。
私は$scope
に特別な関数を定義したくありません。
任意のJavaScriptコードを実行する必要がある場合、またはtrueまたはfalseを返すフィルタを定義できる場合は、コントローラメソッドを使用してください。
私はテストしたばかりで(最初にそれを実行したはずです)、ng-show="!a && b"
のようなものは期待通りに動作しました。
ng-show
/ng-hide
はboolean
値のみを受け入れます。
複雑な表現の場合は、複雑さを避けるためにコントローラとスコープを使用することをお勧めします。
以下のものでうまくいくでしょう(それほど複雑な表現ではありません)
ng-show="User=='admin' || User=='teacher'"
この要素は、2つの条件のいずれかがtrue(OR演算)を返したときにUIに表示されます。
このようにあなたはどんな式でも使うことができます。
表現が多すぎない場合はこれでうまくいきます。
例:ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
これより表現が多い場合はコントローラを使用してください。
通常、ng-showとng-hideは、条件式ではなくブール値として設計されているため、式の使用は避けます。条件付きロジックとブールロジックの両方が必要な場合は、最初のチェックとしてng-ifを使用して条件付きロジックを入力し、次にng-showとng-hideを使用してブールロジック用の追加のチェックを追加します。
ただし、ng-showまたはng-hideに条件を使用する場合は、次のようにいくつかの例があります。 ng-if、ng-show、ng-hideを使用した条件付き表示、 ng-include、ng-switch
上記の答えのいくつかは私にはうまくいきませんでしたが、これはうまくいきました。念のために、他の誰かが同じ問題を抱えている。
ng-show="column != 'vendorid' && column !='billingMonth'"