首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态调用变量

动态调用变量
EN

Stack Overflow用户
提问于 2021-06-12 20:07:38
回答 3查看 75关注 0票数 0

在Angular Component中,我想使用不同的变量。例如:

代码语言:javascript
复制
export class AppComponent{
 value1;
 value2;
 value3;
 value4;
  
 print(position)
 {
   console.log(this.('value'+position));  
 //position will have values like 1,2,3,4 and I want to access value1, value2,value3,value4 
 //variables accordingly.
 }
  
} 

如何执行此操作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-12 20:22:45

代码语言:javascript
复制
class AppComponent {
    constructor() {
        this.value1 = "val1";
        this.value2 = "val2";
        this.value3 = "val3";
        this.value4 = "val4";
    }

    print(position) {
        console.log(this['value' + position]);
    }
}

appComponent = new AppComponent();

appComponent.print(4);

代码语言:javascript
复制
class AppComponent {
    constructor() {
        this.value1 = "val1";
        this.value2 = "val2";
        this.value3 = "val3";
        this.value4 = "val4";
    }

    print(position) {
        console.log(this['value' + position]);
    }
}

appComponent = new AppComponent();

appComponent.print(4);
票数 1
EN

Stack Overflow用户

发布于 2021-06-12 20:10:03

它是用computed property names实现的

代码语言:javascript
复制
export class AppComponent{
   value1;
   value2;
   value3;
   value4;
  
   print(position)
   {
       console.log(this['value' + position]);
       // or with template literals
       // console.log(this[`value${position}`]); 
   }
}

Template literals documentation

票数 0
EN

Stack Overflow用户

发布于 2021-06-12 20:16:16

将引用从点表示法更改为方括号表示法,您将实现您所希望的结果。

代码语言:javascript
复制
export class AppComponent {
  value1 = 1;
  value2 = 2;
  value3 = 3;
  value4 = 4;

  constructor() {
    this.print(3); // will print 3
  }
  
  print(position: number): void {
    console.log(this[`value${position}`]);  
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67948706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档