[英]Angular 6 [ngClass] not working with boolean in component.js
我想要做的是在ngState为真时隐藏文本。 单击某个元素时,该状态将设置为true。 然后[ngClass]应该添加隐藏类并隐藏文本。 第一个片段来自component.ts,它概述了布尔变量和将其设置为true的函数。
export class MainMenuComponent implements OnInit {
ngState = false;
constructor() {
}
newGame(){
this.ngState = this.ngState === true ? false : true;
console.log(this.ngState);
}
}
下一个片段是组件html
<canvas id='sparkCanvas'></canvas>
<div class="menuBox">
<div class="title" [ngClass]="{'hide': ngState}">Dark Shards</div>
<div class="optContainer">
<ul>
<li *ngFor="let opt of opts" class="{{opt.class}}" [ngClass]="{'hide': ngState}" (click)="opt.f()">{{opt.n}}</li>
</ul>
</div>
</div>
这是下面的隐藏类
.hide{
opacity: 0;
}
当我替换[ngClass] = “{ '隐藏':ngState}”与[ngClass] = “{ '隐藏': 真 }”
然后它将按预期工作。 我在这里不理解什么?
以下是我的代码的链接,其中包含一个工作示例: https : //stackblitz.com/edit/angular-fg48ro?file = src%2Findex.html
试试没有Quote
<li *ngFor="let opt of opts" class="{{opt.class}}" [ngClass]="{hide: ngState}" (click)="opt.f()">{{opt.n}}</li>
编辑
当我看到你的代码时,问题与angular无关,但是对于javascript上下文,你需要指定这样的上下文
' f: this.newGame.bind(this),'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.