这一直工作到Angular 4.3.2+
- 不知道为什么Md-Select没有显示。 {{ selected }}
吐出category
;我很确定这一点。
<md-select formControlName="category" name="category"
placeholder="Categories" *ngIf="selected === 'category'">
<md-option *ngFor="let cat of categories" [value]="cat.value">
{{ cat.viewValue }}
</md-option>
</md-select>
当我检查md-select
元素时,它有一个随机display: none
内联。
答案 0 :(得分:0)
根据您对问题的解释来判断,您误解了ngIf
的作用。 display: none
不是来自ngIf
。 ngIf
完全删除或添加元素到DOM;它不会隐藏或显示CSS属性。
如果传递给ngIf
的条件评估为false
或者是假值,则您甚至不会在开发工具中看到该元素。
答案 1 :(得分:0)
这是AngularJS ^4.0.0
和/或Material
场景:如果*ngIf
放置在Material
组件上或是display: none
组件的直接父级,则组件将以.parent-class .md-component { display: inline-block !important }
作为内联样式。
md-component
将任何元素放置为<span>
的直接父级 - 甚至添加{{1}}标记也可以解决问题。