我对ngSwitch指令有点困惑-无论是'attribute指令'还是'structural指令'。
属性指令写有方括号,例如[ngStyle],[ngClass]等(我们将其写为[ngSwitch],将其称为“属性指令”)。
结构化指令使用' aestrick '编写,例如* ngFor,* ngIf等(我们将案例编写为* ngSwitchCase =“ ...”,这意味着它是结构化指令)。
<div [ngSwitch]="colorValue">
<p *ngSwitchCase="red">Red</p>
<p *ngSwitchCase="blue">Blue</p>
<p *ngSwitchCase="green">Green</p>
</div>
按照上面的代码,将ngSwtich归类为任一指令类别变得非常混乱!有人可以帮助我了解ngSwitch的指令类型吗?
[ngSwitch]
为属性指令与组合使用*ngSwitchCase
这是一个结构指令。
Angular的文档中对此进行了明确的说明...
如果尝试设置
*ngSwitch
,NgSwitch
则会出现错误,因为它是属性指令,而不是结构指令。它更改了其伴随指令的行为。它不会直接接触DOM。绑定到
*ngSwitchCase
和*ngSwitchDefault
。在NgSwitchCase
和NgSwitchDefault
中,因为它们或者从DOM删除元素指令是结构性的指令。
https://angular.io/guide/template-syntax#the-ngswitch-directives
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句