加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Angular2中相当于ngShow和ngHide是什么?

发布时间:2020-12-17 09:00:59 所属栏目:安全 来源:网络整理
导读:我有一些元素,我想在某些条件下可见。 在AngularJS我会写 div ng-show="myVar"stuff/div 我如何在Angular 2中这样做? 只需绑定到隐藏属性 [hidden]="!myVar" 也可以看看 https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden 问题
我有一些元素,我想在某些条件下可见。

在AngularJS我会写

<div ng-show="myVar">stuff</div>

我如何在Angular 2中这样做?

只需绑定到隐藏属性
[hidden]="!myVar"

也可以看看

> https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden

问题

hidden有一些问题,因为它可能与CSS显示属性冲突。

看看在Plunker example有些没有隐藏,因为它有一种风格

:host {display: block;}

组。 (这可能会在其他浏览器中运行 – 我使用Chrome 50测试)

解决方法

你可以通过添加来解决它

[hidden] { display: none !important;}

在index.html中的全局样式。

另一个陷阱

hidden="false"
hidden="{{false}}"
hidden="{{isHidden}}" // isHidden = false;

是相同的

hidden="true"

并且不会显示该元素。

hidden =“false”将分配字符串“false”,这被认为是真实的。
只有值false或删除属性将实际使元素
可见。

使用{{}}也会将表达式转换为字符串,并且无法正常工作。

只有使用[]绑定才能正常工作,因为此false被赋值为false,而不是“false”。

* ngIf vs [hidden]

* ngIf有效地从DOM中删除其内容,而[隐藏]修改显示属性,并仅指示浏览器不显示内容,但DOM仍包含它。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读