我有一个地图组件,上面有一个视频组件。单击视频时,地图和视频组件会切换类别,因此视频将变为全屏,并带有地图插图。
我正在使用NgClass更新这两个组件的类,但是我注意到在Chrome中运行我的应用程序时,地图元素的类部分在检查器中闪烁。
我检查了一下,看来ngClass从应用启动开始就不断更新类,即使未对组件进行任何更改也是如此。我只想在单击inset元素时更改类。
这是正常行为吗?有什么我可以阻止的吗?
这是我的HTML:
<map class="map" (click)="switchInset('map')" [ngClass]="setClass('map')"></map>
<app-video class="video" (click)="switchInset('video')" [ngClass]="setClass('video')"></app-video>
Run Code Online (Sandbox Code Playgroud)
而我的TS代码:
mapFullscreen: boolean = true;
switchInset(target: string) {
switch (target) {
case 'map':
if (!this.mapFullscreen) {
this.mapFullscreen = this.mapFullscreen ? false : true;
}
break;
case 'video':
if (this.mapFullscreen) {
this.mapFullscreen = this.mapFullscreen ? false : true;
}
break;
default:
break;
}
}
setClass(target: string) {
let classes = {};
switch (target) {
case 'map':
classes = {
inset: !this.mapFullscreen,
fullscreen: this.mapFullscreen
}
break;
case 'video':
classes …Run Code Online (Sandbox Code Playgroud)