我们可以在一个 div 标签中有 ng-show 和 ng-if 吗?



以下代码片段不起作用请建议任何其他方法

<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,则将创建所有元素,否则不会创建元素。

相关内容

  • 没有找到相关文章

最新更新