Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 将两个动态变量合并为一个,以输出单个结果类型脚本_Angular_Typescript - Fatal编程技术网

Angular 将两个动态变量合并为一个,以输出单个结果类型脚本

Angular 将两个动态变量合并为一个,以输出单个结果类型脚本,angular,typescript,Angular,Typescript,我尝试将两个变量合并成一个新变量 我的代码片段如下所示: 在TScomponent文件中 this.setTextLang='_pt'; 在HTML中 {{el.menu_name+setTextLang}} 但这当然不起作用 当前输出:它连接输出-这不是我所期望的 USA_pt Nepal_pt 期望输出 编译器应将{{el.menu_name+setTextLang}}理解为{{el.menu_name_pt},并在*ngFor内给出el.menu_name_pt的值: 有人能为

我尝试将两个变量合并成一个新变量

我的代码片段如下所示:

在TScomponent文件中

this.setTextLang='_pt';
在HTML中

{{el.menu_name+setTextLang}}

但这当然不起作用

当前输出:它连接输出-这不是我所期望的

 USA_pt
 Nepal_pt
期望输出 编译器应将{{el.menu_name+setTextLang}}理解为{{el.menu_name_pt},并在*ngFor内给出el.menu_name_pt的值:

有人能为我提供其他解决方案吗?非常感谢!
如果我的问题不清楚,请告诉我好的,我想我现在明白你的问题了

@Simonare正确指出的括号内的财产访问权是自然解决方案。但是,由于角度模板语法的限制,这在这个用例中不起作用。在{{}模板语法中,不能在括号访问器中计算字符串变量

基本上,您不能执行{{el['menuName'+setTextLang]}},因为不能在该范围内计算'setTextLang'

因此,一种可能的解决方案是让模型中的助手方法为您进行访问:

getProperty(obj: any, property: string): string {
  return obj[property + this.setTextLang];
}
然后在模板中:

<div *ngFor="let el of exlists">
  <div>{{getProperty(el, 'menuName')}}</div>  
</div>

这里有一个stackblitz演示:

请通过演示查看我的答案,并告诉我它是否解决了您的问题。