ng-如果调用 ng-show?
ng-if calling an ng-show?
我有一个 ng-if
,如果它的计算结果为 TRUE,我希望它调用一个 ng-show="someMethod()"
您认为最好的方法是什么?
我应该调用我的 ng-if
然后使用 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()" ,它将过滤页面上的可用下拉列表等。
ng-show
已经计算了一个表达式 - 只需将您的表达式放入 ng-show ="myexpression || myfunction()"
.
如果您的元素或表达式未初始化,那么您应该使用 ng-if 来确保该元素仅在读取表达式后才存在。看看这个:Initialize expensive element with ng-if then show/hide with 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 在初始化之前不会发生。
ng-if
如果条件评估为 false
则不呈现该元素
但是您可以在一个表达式中使用多个条件:
ng-show="item.type == 'pizza' && someMethod()"
不过通常最好不要将函数调用放在此类条件中
我有一个 ng-if
,如果它的计算结果为 TRUE,我希望它调用一个 ng-show="someMethod()"
您认为最好的方法是什么?
我应该调用我的 ng-if
然后使用 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()" ,它将过滤页面上的可用下拉列表等。
ng-show
已经计算了一个表达式 - 只需将您的表达式放入 ng-show ="myexpression || myfunction()"
.
如果您的元素或表达式未初始化,那么您应该使用 ng-if 来确保该元素仅在读取表达式后才存在。看看这个:Initialize expensive element with ng-if then show/hide with 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 在初始化之前不会发生。
ng-if
如果条件评估为 false
但是您可以在一个表达式中使用多个条件:
ng-show="item.type == 'pizza' && someMethod()"
不过通常最好不要将函数调用放在此类条件中