是否可以动态设置变量?
我的代码看起来像这样。 if得到了,但我如何(如果可能的话)动态地将变量设置为true?
import { Component, OnInit, } from '@angular/core';
import {forEach} from "@angular/router/src/utils/collection";
@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent implements OnInit {
menuContentSize = false;
menuContentBackground = false;
menuContentImages = false;
menuContentText = false;
menuContentFrame = false;
menuOptions: string[] = ['menuContentSize',
'menuContentBackground',
'menuContentImages',
'menuContentText',
'menuContentFrame'];
constructor() {
}
ngOnInit() {
}
menuOptionSelected(event){
this.menuOptions.forEach(function(element){
if(element == event){
// Set name of element(variable) to true
// In my dreamworld this.element = true; will be e.g. this.menuContentSize = true;
}
});
}
}
答案 0 :(得分:2)
this.menuOptions.forEach(function(element){
需要
this.menuOptions.forEach((element) => {
如果您想使用this
来引用当前组件实例
另见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
我不确定你的其他问题。
我想你想要的是
this[element] = true;
如果this.menuContentSize
包含字符串值true
element
设置为'menuContentSize'