无论如何,是否可以从EXTJS中的Utility类动态访问对象?

问题描述 投票:0回答:1

我的代码结构如下->

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,而不必求助于使用一长串条件语句?因为我只是显示我遇到的许多违规错误中的两个。

extjs global-variables
1个回答
0
投票

问题是您如何“索引”到GlobalStrings中。点运算符使用右边的文本作为键,但是您拥有一个按住键的变量。]​​>

尝试一下:

        for(i = 0; i < tradelimitViolations.length; i++){
            violationString = tradelimitViolations[i] + "Violation";
            tradeViolationMessage += GlobalStrings[violationString];
        }
© www.soinside.com 2019 - 2024. All rights reserved.