在运行时动态分配属性
Assigning properties dynamically at runtime
我正在尝试为其他开发人员设置一个调试 Flash 应用程序,以便与我正在构建的 API 一起使用。
它只是一个基本的 swf,带有一个 API url 的 txt 字段,函数名称,一个添加 post 参数的部分,以及他返回的数据的分解。
当我在 loadVars class 中硬编码 "msg" post 参数时效果很好。
myloadVars.msg=variable1.text
问题是我希望能够允许他在运行时通过参数名称的文本框和他发送的数据的文本框添加自己的参数。几个小时以来,我一直在努力解决这个问题。在我看来,它应该是这样的:
var myloadVars:LoadVars = new LoadVars();
for (var i=0; i<params.length(); i++) {
myloadVars.this["param_txt.text"] = param_text.text;
i++;
}
myloadVars.sendAndLoad(target, myloadVars, "POST");
这里的主要目标是有一个包含变量名称的文本字段和一个包含要 posted 的变量值的文本字段。一个将它添加到数组的按钮,当需要将 post 值添加到 loadVars class 时,它只是遍历它们,完整地添加它们的名称和值,然后发送出去由我处理后端脚本。
我已经挂了几个小时试图弄清楚如何获取文字字符串(来自文本字段的值,其中包含 POST var 名称)并将其添加到 loadVars class.
我只想:
var params:Object = new Object();
GUI:
Param: ["course_ID"] Data: ['222'] [Add param] *click*
param[0]-> array("course_ID", "222");
Param: ["course_name"] Data: ['Math3'] [Add param] *click*
param[1]-> array("course_name", "Math3");
翻译成如下内容:
某种伪 foreach 循环
foreach() {
myloadVars.Param = Data;
}
(抱歉,伪代码太多了。我目前正在用大约 5 种语言编写,没有费心为示例获取正确的语法)
但无论我尝试什么,我都无法从文本字段中获取字符串输入并将其用于 loadVars class 的 属性 名称。
长话短说。我有一个带有字符串的文本字段。我想使用该字符串来命名 loadVar 属性 的 属性,它将 posting 到我的后端脚本。
而不是硬编码:
myloadVars.class_id = param_data.text;
我想要像`
这样的东西
myloadVars.this["param_name_text"].text = param_data.text;
但我似乎无法让它工作...
大家有什么帮助吗?
我想你正在寻找这个:
myloadVars[param_name_text.text] = param_data.text;
假设 param_name_text 是您的变量名输入字段的引用,并且您在那里输入了 myVariableName 这会将 param_data.text 存储为 myLoadVars.myVariableName
尽管如此,在将内容发送到服务器之前检查空值可能是个好主意
我正在尝试为其他开发人员设置一个调试 Flash 应用程序,以便与我正在构建的 API 一起使用。 它只是一个基本的 swf,带有一个 API url 的 txt 字段,函数名称,一个添加 post 参数的部分,以及他返回的数据的分解。 当我在 loadVars class 中硬编码 "msg" post 参数时效果很好。
myloadVars.msg=variable1.text
问题是我希望能够允许他在运行时通过参数名称的文本框和他发送的数据的文本框添加自己的参数。几个小时以来,我一直在努力解决这个问题。在我看来,它应该是这样的:
var myloadVars:LoadVars = new LoadVars();
for (var i=0; i<params.length(); i++) {
myloadVars.this["param_txt.text"] = param_text.text;
i++;
}
myloadVars.sendAndLoad(target, myloadVars, "POST");
这里的主要目标是有一个包含变量名称的文本字段和一个包含要 posted 的变量值的文本字段。一个将它添加到数组的按钮,当需要将 post 值添加到 loadVars class 时,它只是遍历它们,完整地添加它们的名称和值,然后发送出去由我处理后端脚本。
我已经挂了几个小时试图弄清楚如何获取文字字符串(来自文本字段的值,其中包含 POST var 名称)并将其添加到 loadVars class.
我只想:
var params:Object = new Object();
GUI:
Param: ["course_ID"] Data: ['222'] [Add param] *click*
param[0]-> array("course_ID", "222");
Param: ["course_name"] Data: ['Math3'] [Add param] *click*
param[1]-> array("course_name", "Math3");
翻译成如下内容: 某种伪 foreach 循环
foreach() {
myloadVars.Param = Data;
}
(抱歉,伪代码太多了。我目前正在用大约 5 种语言编写,没有费心为示例获取正确的语法) 但无论我尝试什么,我都无法从文本字段中获取字符串输入并将其用于 loadVars class 的 属性 名称。
长话短说。我有一个带有字符串的文本字段。我想使用该字符串来命名 loadVar 属性 的 属性,它将 posting 到我的后端脚本。 而不是硬编码:
myloadVars.class_id = param_data.text;
我想要像`
这样的东西myloadVars.this["param_name_text"].text = param_data.text;
但我似乎无法让它工作...
大家有什么帮助吗?
我想你正在寻找这个:
myloadVars[param_name_text.text] = param_data.text;
假设 param_name_text 是您的变量名输入字段的引用,并且您在那里输入了 myVariableName 这会将 param_data.text 存储为 myLoadVars.myVariableName
尽管如此,在将内容发送到服务器之前检查空值可能是个好主意