Angularjs ng if或ng show是否隐藏和显示DIV?

Angularjs ng if或ng show是否隐藏和显示DIV?,angularjs,Angularjs,我正在编写的代码包含以下内容: <div ng-if="cos.connectMessage" style="text-align: center;" class="ng-scope"> Unable to establish a connection to the localhost server for 5 minutes.</div> 5分钟内无法建立到本地主机服务器的连接。 使用ng show或ng if控制此邮件的可见性有什么好处吗?ng show

我正在编写的代码包含以下内容:

<div ng-if="cos.connectMessage" style="text-align: center;" class="ng-scope">
    Unable to establish a connection to the localhost server for 5 minutes.</div>

5分钟内无法建立到本地主机服务器的连接。

使用ng show或ng if控制此邮件的可见性有什么好处吗?

ng show

ngShow指令根据提供给ngShow属性的表达式显示或隐藏给定的HTML元素。通过在元素上删除或添加.ng hide CSS类来显示或隐藏元素。()

ng如果

ngIf指令基于{expression}删除或重新创建DOM树的一部分。如果指定给ngIf的表达式的计算结果为假值,则该元素将从DOM中删除,否则将该元素的克隆重新插入DOM。()

注意:当ng if删除该元素时,它也会删除该元素的关联范围,并在条件变为true时重新创建该元素

优势


我更喜欢使用ng,特别是当绑定到元素中的观察者数量更多时,因为它会完全破坏作用域,从而使UI更快一些。但是对于较小的元素或包含较少观察者的元素,删除作用域并重新创建它确实会增加开销。

您可以将此作为解决方案参考,在该解决方案中已经提出了很多问题

如果您使用的是
ng If=“false”
,则
ng If
下的html内容将不会包含在html页面中,但如果您使用的是
ng hide=“true”
ng show=“false”
则html页面中会包含html部分,但只会以隐藏模式显示。

是,如果模型中的
connectMessage
值发生更改,它将自动更新视图,反之亦然versa@Katana-但这与ng if和ng show不一样吗?当然是的,唯一的区别是该指令的目的和用法,但双向数据绑定概念仍然可能与您刚才复制和粘贴的内容重复:-(我想知道的是,在我使用的目的中使用其中一个或另一个是否有任何优势。谢谢