根据 angular2 打字稿中的 属性 值分配 class
Assigning a class based on a property value in angular2 typescript
我想根据 angular2 中的 属性 在 html 上分配 classes。那是我尝试在不使用 jquery 和 bootstrap
的情况下打开下拉列表
所以我有
<li
class="dropdown mega-menu mega-menu-wide"
//stuck at adding class of open if propertyval is admin
>
<a #admin class="dropdown-toggle" (click)="toggle(admin)" >Administrative</a>
</li>
在我的 ts 我有
export class ... {
propertyval :null
toggle(val){
this.propertyval = null;
}
}
所以现在如果 属性val 的值为 admin,我想将 open 的 class 分配给列表,否则它应该为 null
我该怎么做
您可以使用 属性 绑定来动态添加 class。
<li
class="dropdown mega-menu mega-menu-wide"
[class.WhateverYouWant]="propertyval === 'admin'"
//stuck at adding class of open if propertyval is admin
>
<a #admin class="dropdown-toggle" (click)="toggle(admin)" >Administrative</a>
</li>
您可以使用 NgClass
指令:
<li [ngClass]="{'class-open': open}">
<a #admin class="dropdown-toggle" (click)="open = !open;" >Administrative</a>
</li>
class-open
- 是影响下拉列表的 class。 open
是您最初在组件中设置为 false 或 true 的变量,因此不需要 toggle()
方法。
在您的 class 上创建一个 getter,返回 属性 状态的布尔值。
get propertyHasValue(): boolean {
return !isNullOrUndefined(this.propertyval);
}
然后向您的元素添加一个 ng-class 指令
<a [ng-class]="{ 'open': propertyHasValue }"/>
您好,您可以使用 [ngClass] 添加动态样式。
<a #admin class="dropdown-toggle" (click)="toggle(admin)" [ngClass]="{'dynStyle': isAdmin }" >Administrative</a>
//风格
.dynStyle{
color:green;
}
//.ts
toggle(val){
if(val!='admin')
{
this.propertyval = null;
return isAdmin=false
}
else
{
return isAdmin=true;
}
}
我想根据 angular2 中的 属性 在 html 上分配 classes。那是我尝试在不使用 jquery 和 bootstrap
的情况下打开下拉列表所以我有
<li
class="dropdown mega-menu mega-menu-wide"
//stuck at adding class of open if propertyval is admin
>
<a #admin class="dropdown-toggle" (click)="toggle(admin)" >Administrative</a>
</li>
在我的 ts 我有
export class ... {
propertyval :null
toggle(val){
this.propertyval = null;
}
}
所以现在如果 属性val 的值为 admin,我想将 open 的 class 分配给列表,否则它应该为 null
我该怎么做
您可以使用 属性 绑定来动态添加 class。
<li
class="dropdown mega-menu mega-menu-wide"
[class.WhateverYouWant]="propertyval === 'admin'"
//stuck at adding class of open if propertyval is admin
>
<a #admin class="dropdown-toggle" (click)="toggle(admin)" >Administrative</a>
</li>
您可以使用 NgClass
指令:
<li [ngClass]="{'class-open': open}">
<a #admin class="dropdown-toggle" (click)="open = !open;" >Administrative</a>
</li>
class-open
- 是影响下拉列表的 class。 open
是您最初在组件中设置为 false 或 true 的变量,因此不需要 toggle()
方法。
在您的 class 上创建一个 getter,返回 属性 状态的布尔值。
get propertyHasValue(): boolean {
return !isNullOrUndefined(this.propertyval);
}
然后向您的元素添加一个 ng-class 指令
<a [ng-class]="{ 'open': propertyHasValue }"/>
您好,您可以使用 [ngClass] 添加动态样式。
<a #admin class="dropdown-toggle" (click)="toggle(admin)" [ngClass]="{'dynStyle': isAdmin }" >Administrative</a>
//风格
.dynStyle{
color:green;
}
//.ts
toggle(val){
if(val!='admin')
{
this.propertyval = null;
return isAdmin=false
}
else
{
return isAdmin=true;
}
}