184

私はそうしたい:

ng-hide="!globals.isAdmin && mapping.is_default"

しかし、式は常に に評価されfalseます。

に特別な関数を定義したくありません$scope

4

5 に答える 5

214

任意の JavaScript コードを実行する必要がある場合、または true または false を返すフィルターを定義する必要がある場合は、コントローラー メソッドを使用します。

私はちょうどテストしました(最初にそれを行うべきでした)、そして何かがng-show="!a && b"期待どおりに機能しました。

于 2013-03-01T20:30:44.203 に答える
13

これは、式が多すぎない場合に機能します。

例:ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"

これよりも多くの式については、コントローラーを使用します。

于 2015-02-23T12:05:06.070 に答える
7

ng-show と ng-hide を使用した式は、条件ではなくブール値として設計されているため、一般的に避けるようにしています。条件付きロジックとブール型ロジックの両方が必要な場合は、最初のチェックとして ng-if を使用して条件付きロジックを配置し、次に ng-show と ng-hide を使用してブール型ロジックの追加チェックを追加することを好みます

ただし、ng-show または ng-hide に条件を使用する場合は、いくつかの例を含むリンクを次に示します: ng-if、ng-show、ng-hide、ng-include、ng-switch を使用した条件付き表示

于 2016-10-20T14:00:40.013 に答える