我的代码结构如下->
MyApp->应用->模型,视图,控制器,存储,实用程序
我为验证错误创建了以下实用程序类:
Ext.define('MyApp.shared.utils.GlobalStrings', {
AmountLimitViolation: "Amount Limit Violated",
DurationLimitViolation: "Duration Limit Violated"
});
我正在尝试通过以下方式动态获取字符串,但是它们始终无法定义:
Ext.define('MyApp.controller.ViewController', {
extend: 'Ext.grid.Panel',
violationCheck: function (tradelimit, tradelimitViolations){
let me = this,
tradeViolationMessage = "";
if(tradelimit > 0){
for(i = 0; i < tradelimitViolations.length; i++){
violationString = tradelimitViolations[i] + "Violation";
tradeViolationMessage += GlobalStrings.violationString;
}
}
}
});
tradelimitViolations是一个包含如下内容的字符串:(“ AmountLimit”,“ DurationLimit”)
那么,有什么方法可以动态获取AmountLimitViolation和DurationLimitViolation,而不必求助于使用一长串条件语句?因为我只是显示我遇到的许多违规错误中的两个。
问题是您如何“索引”到GlobalStrings中。点运算符使用右边的文本作为键,但是您拥有一个按住键的变量。]>
尝试一下:
for(i = 0; i < tradelimitViolations.length; i++){
violationString = tradelimitViolations[i] + "Violation";
tradeViolationMessage += GlobalStrings[violationString];
}