Angularjs 是否可以将表达式用作ng模型指令的一部分?

Angularjs 是否可以将表达式用作ng模型指令的一部分?,angularjs,Angularjs,我有一个循环: <div ng-repeat="measure in CompleteDataSetViewModel.TargetMeasures"> </div> 在这里,我有这样一个输入: <input ng-model="CompleteDataSetViewModel.AnnualRecord.Target[measure.Name]_Original" class="form-control input-lg annualTar

我有一个循环:

<div ng-repeat="measure in CompleteDataSetViewModel.TargetMeasures">
</div>

在这里,我有这样一个输入:

<input ng-model="CompleteDataSetViewModel.AnnualRecord.Target[measure.Name]_Original"
          class="form-control input-lg annualTargetInput"
          type="number"
          ng-change="spreadTotal(measure.Id); updatePercentage(measure.Id)" />

如果我在循环中使用{measure.Name},它可以正常工作,但我希望它是该输入的ng model指令的一部分,因此它将以
CompleteDataSetViewModel.AnnualRecord.TargetElectricity_Original
的形式发出,因为这是我必须在数据库中保存它的方式

我已经尝试了
ng model=“CompleteDataSetViewModel.AnnualRecord.Target{{{measure.Name}}}\u Original”
ng model=“CompleteDataSetViewModel.AnnualRecord.Target[measure.Name]\u Original”

前者产生:语法错误:标记“{”是表达式第45列的意外标记。后者产生:语法错误:标记“\u Original”是第59列的意外标记

我发现了一个似乎建议[measure.Name]方法应该有效的旧方法。还有一个

感觉应该可以用了,但我需要用“我必须在酒店名称的末尾钉上原件”来做点什么。

试试这个表达:

ng-model="CompleteDataSetViewModel.AnnualRecord.Target[measure.Name + '_Original']"

从技术上讲,角度表达式是一个可以解释的普通javascript代码字符串,因此您可以使用任何有效的(角度解析器施加了一些限制)表达式。因此,上面的内容应该对您有用。

有一些次要问题需要解决。当我点击这些问题并返回到这里时,使用上面描述的方法确实是正确的。非常感谢您的帮助。我们已经对此进行了更多的工作,并明确得出结论,需要进行轻微的修改。应该是:
ng模型=“CompleteDataSetViewModel.AnnualRecord['Target'+measure.Name+''u Original']”
-注意AnnualRecord后面的点被删除了。没错,我把重点放在方括号部分,没有注意到“Target”也是动态名称的一部分。我认为这类似于
AnnualRecord={Target:{…}
structure。哦,如果这样的话就好了。这是明智的,对吧?相反,我必须在目标字段前面加上“target”,即使它们都位于一个名为“targets”的表中!无论如何,谢谢你的帮助,非常感谢。我要开始复习我的JavaScript基础知识了!