以下代码片段不起作用请建议任何其他方法
<html>
`<div id="tablediv" ng-model="ngtable">
<div ng-show="ngtable">
<div ng-if="currentdevicetype == 'condition1'">
<!-- Other code to display contents -->
</div>`
</div>
</div>
</html>
是的,你可以,两者都是不同的。
ng-show
将表达式计算结果时元素的display:none
设置为 false
,同时ng-if
当表达式计算结果为 false
时从 DOM 中删除元素
看看这个问题,了解ng-show和ng-if之间的区别,以及在哪里以及如何使用它们:
什么时候支持ng-if与ng-show/ng-hide?
在你的 html 代码中,你用错了东西,因为你用ng-model
来表示div .
<html>
<div id="tablediv" ng-model="ngtable">
<div ng-show="ngtable">
<div ng-if="currentdevicetype == 'condition1'">
<!-- Other code to display contents -->
</div>
</div>
</div>
</html>
ng-model 用于绑定任何输入框/文本区域/选择喜欢标签的值,你不能像这样绑定任何值:
<div id="tablediv" ng-model="ngtable">
如果删除此ng-model
则代码将如下所示:
<html>
<div id="tablediv">
<div ng-show="ngtable">
<div ng-if="currentdevicetype == 'condition1'">
<!-- Other code to display contents -->
</div>
</div>
</div>
</html>
现在,如果ngtable
有一些价值,这意味着ng-show=true
那么
<div ng-show=true>
// all the elements are visible on the DOM.
</div>
但是,如果ngtable
没有任何值,则表示ng-show=false
则:
<div ng-show=false>
// all the elements are not visible on the DOM.
</div>
在此代码中:
<div ng-if="currentdevicetype == 'condition1'">
<!-- Other code to display contents -->
</div>
如果ng-if="currentdevicetype == 'condition1'"
返回 true,则将创建所有元素,否则不会创建元素。