0

があり、ng-ifTRUE と評価された場合は、ng-show="someMethod()"

これを行うための最良の方法は何だと思いますか?

my を呼び出してng-ifから an を使用しng-init="someMethod()"、someMethod() で何らかの方法で のモックを適用する必要がありng-showますか?

HTML:

<div ng-repeat="(key,item) in foodOptions" ng-class={hidden : item.type != currentSection.type}" >

次に、ng-if を呼び出して、次のような特定の条件を呼び出すng-if="item.type === 'pizza'"必要があります。これは、ページなどで利用可能なドロップダウンをフィルター処理する ng-show="someMethod()" を呼び出す必要があります。

4

2 に答える 2

0

ng-showはすでに式を評価しています - 式をng-show ="myexpression || myfunction()".

要素または式が初期化されていない場合は、ng-if を使用して、式が読み取られた後にのみこの要素が存在することを確認する必要があります。これを見てください: ng-if で高価な要素を初期化し、 ng-show/hide で表示/非表示にします。

<button ng-click='showElement = !showElement; elementInitialized = true'></button> <div id='myExpensiveElement' ng-if='elementInitialized' ng-show='showElement'> ... </div>

ご覧のとおり、ng-show は ng-if に直接従うことができ、false の場合、初期化されるまで ng-show は発生しません。

于 2015-10-02T15:35:44.463 に答える