编辑: 我的第一个问题已关闭并链接到:Dynamically access object property using variable 但我不认为这可以解决我的问题:
初始帖子:
角度和打字稿新手,我在努力 没有找到正确的答案。我想使用一个的值 在某些函数/指令中是变量,这是模糊的,所以让我们用 例子:
让我们采用简单的setter函数来处理单击时的角度形式 在按钮上调用设置器进行输入。
setInput1(value){ this.myForm.controls.inputName1.setValue(value); };
我的问题很简单,如果我有多个输入,而不是创建 像波纹管这样的多种功能:
setInput1(value){ this.myForm.controls.inputName1.setValue(value); }; setInput2(value){ this.myForm.controls.inputName2.setValue(value); }; setInput3(value){ this.myForm.controls.inputName3.setValue(value); };
我可以在函数:指令中使用变量的值 {inputName} 以某种方式,例如下面?
setInputs(value, inputName){ this.myForm.controls.{inputName}.setValue(value); };
阅读链接和更多html后的更正,为便于说明,使用角度FormControl的setValue()方法:
html:
<label>random input name 1
<input type="number" formControlName="inputName1" class="form-input">
</label>
<label>random input name 2
<input type="number" formControlName="inputName2" class="form-input">
</label>
<label>random input name 3
<input type="number" formControlName="inputName3" class="form-input">
</label>
TypeScript:
mySetValue(btnValue){
let inputRandom :any = {name : 'inputName1'};
this.myForm.controls.inputRandom[name].setValue(btnValue);
};
使用括号也不起作用。 看来打字稿并没有像我想要的那样解释它,因为我想要这个:
this.myForm.controls.inputRandom[name].setValue(btnValue);
解释为:
this.myForm.controls.inputName1.setValue(btnValue);
请问,如果我在理解链接到我的内容时有误,可以说得更具体些吗?