如何使用变量作为 ngClass 的值?
how do I use a variable for the value of ngClass?
我正在尝试制作模态框,所以当我单击每个按钮时,应该会出现不同的模态框,其中包含不同的内容。单击按钮时,active 获取值为 true,当 active 为 true 时,modal div 获取 class .open
.
HTML:
<button type="button" class="btn btn-4" (click)="myFunction(0)">ბანკი</button>
<div class="modal" [ngClass] = "**active[0].active1** ? 'open' : ''" >
<div class="text">gfdgdgd</div>
<button type="button" class="btn close" (click)="close()"><i class="fas fa-times-circle"></i></button>
</div>
打字稿:
active: any = [
{
active1:false,
},
{
active1:false,
},
{
active1:false,
},
{
active1:false,
},
];
constructor() { }
ngOnInit(): void {
}
myFunction(id:any){
this.active[id].active1 = true;
}
close(){
this.active = false;
}
它不允许我从活动数组中给出 ngClass 值。我有四个模态,所以每个模态都有不同的活性以具有不同的内容。我怎样才能不出错地获得 ngClass = "active[0].active1 : 'open'"
?
此外,当我单击按钮时,它显示“无法设置未定义的 属性 'active1'”?
如果你想管理一个包含四个布尔值的数组,你不需要嵌套的字典,你只需要:
actives: boolean[] = [false, false, false, false];
因此,您的 class 将简化为:
[ngClass] = "active[0] ? 'open' : ''"
如果你有错误'Cannot set property 'active1' of undefined'
意味着在渲染时没有定义,你需要在渲染时跟踪你的变量的状态。
我正在尝试制作模态框,所以当我单击每个按钮时,应该会出现不同的模态框,其中包含不同的内容。单击按钮时,active 获取值为 true,当 active 为 true 时,modal div 获取 class .open
.
HTML:
<button type="button" class="btn btn-4" (click)="myFunction(0)">ბანკი</button>
<div class="modal" [ngClass] = "**active[0].active1** ? 'open' : ''" >
<div class="text">gfdgdgd</div>
<button type="button" class="btn close" (click)="close()"><i class="fas fa-times-circle"></i></button>
</div>
打字稿:
active: any = [
{
active1:false,
},
{
active1:false,
},
{
active1:false,
},
{
active1:false,
},
];
constructor() { }
ngOnInit(): void {
}
myFunction(id:any){
this.active[id].active1 = true;
}
close(){
this.active = false;
}
它不允许我从活动数组中给出 ngClass 值。我有四个模态,所以每个模态都有不同的活性以具有不同的内容。我怎样才能不出错地获得 ngClass = "active[0].active1 : 'open'"
?
此外,当我单击按钮时,它显示“无法设置未定义的 属性 'active1'”?
如果你想管理一个包含四个布尔值的数组,你不需要嵌套的字典,你只需要:
actives: boolean[] = [false, false, false, false];
因此,您的 class 将简化为:
[ngClass] = "active[0] ? 'open' : ''"
如果你有错误'Cannot set property 'active1' of undefined'
意味着在渲染时没有定义,你需要在渲染时跟踪你的变量的状态。