extjs - 无论如何可以从EXTJS中的实用程序类动态访问对象吗?
问题描述
我的代码结构如下->
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];
}
推荐阅读
- pytorch - 运行 pytorch 时出现错误“TypeError: object of type'CatsAndDogsDataset' has no len()' 我想知道如何解决它
- javascript - 将固定/粘性标题注入任何网页
- javascript - 如何从 vue 中的 main.js 文件重新渲染组件?
- css - 如何围绕正在移动的另一个元素的中心旋转 svg 元素?
- python - 带有 pep8 命名的 Flake8 抱怨 camelCase 进口
- xamarin.forms - 为什么我的 Azure SignalR Hub 方法没有被触发?
- r - 如何计算不同变量的每个个体的平均值
- python - 使用 python 导入 GCP 资源时出现凭据错误
- pandas - 将源表作为 Pandas 数据框的 Snowflake MERGE 命令
- ms-access - 无法访问查询对象的 SQL 视图