我有一些元素,我想在某些条件下可见。
在AngularJS我会写
<div ng-show="myVar">stuff</div>
我如何在Angular 2中这样做?
只需绑定到隐藏属性
[hidden]="!myVar"
也可以看看
> https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden
问题
看看在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]