当前位置: 首页 > 知识库问答 >
问题:

如何在 dart 中创建动态变量

花飞尘
2023-03-14

我正在将java脚本移动到dart,在java脚本中我创建了动态变量,例如

window["text" + pageNumber] = 123;
alert(window["text" + pageNumber]);

我怎么能用飞镖呢?

共有1个答案

葛越
2023-03-14

在Dart窗口(类型窗口是一个类。不能动态向Dart类添加属性<代码>窗口[“文本”页码]=123将与映射一起工作。JS中的对象表示非常类似于一个映射,因此它在那里工作。如果另一个类实现了<code>〔〕

在Dart中可能有不同的方法来实现你想要的,但是你没有添加关于你试图解决的实际问题的细节。

您可以在Dart中使用普通的全局变量,如Dart中的全局变量所述。

对于您的用例,您可以通过这种方式创建全局 Map 变量

final Map<String,int> myGlobals = <String,int>{};

创建存储具有字符串名称的整数值的映射。

使用myGlobals['某个名称']=123;设置值并使用print(myGlobals['某个名称'])读取它们;

如果需要设置一个全局值,该值也可用于可能使用的JS库,则可以使用dart JS互操作

import 'dart:js';
import 'dart:html';

main() {
    int pagenumber = 5;
    context['Window']['text$pagenumber'] = 123;
    window.alert('${context['Window']['text$pagenumber']}');
}

在飞镖上试试。

提示:

页码不是字符串时,“文本”页码不起作用。在Dart中,不能添加字符串和数字
“文本”页码。toString()可以工作,但<code>的文本$pagenumber‘toString()
会自动为您调用。

另请参阅Dart js-interop不工作,如果不包括. dart文件

 类似资料:
  • 我正在用android创建一款纸牌游戏(21点)。前两张卡是easy card1和card2,但是我想按一下“点击我”按钮,发一张新卡,并将其分配给card3、card4等。有没有任何方法可以做到这一点,而无需创建所需的最大变量数,并使用if-then语句检查它们是否被分配了值?

  • 问题内容: 是否可以在Java中动态创建新变量。 因此,如果两次调用了新方法,是否应该向该类中新添加2个新变量? 可能吗? 问题答案: 否。您是否考虑过在课程中存储“ a ”?映射中的键将是“变量名”,映射中的值将是逻辑变量名。 如果您可以提供有关您要实现的目标的更多信息(从高角度来看),那将有所帮助。

  • 问题内容: 我正在使用ajax google maps脚本,需要在for循环中创建动态变量名称。 我想的是:,,等。我想这有什么问题 Firebug给了我这个: 问题答案: 为此使用数组。

  • 本文向大家介绍如何在JavaScript循环内创建动态变量名?,包括了如何在JavaScript循环内创建动态变量名?的使用技巧和注意事项,需要的朋友参考一下 为此,您需要向当前范围添加属性。使用它来实现此目的,这适用于程序中的当前作用域- 上面将获得您想要的内容,并像下面这样检索它- 如上所示,它将为您提供文本“在此处添加”。

  • 问题内容: 我的特定用例是,我想组织一些有关容器在其上运行的EC2实例的数据,并使我可用作环境变量。构建容器时,我想这样做。 我希望能够在Dockerfile中执行类似的操作,但毫不奇怪,这行不通(您只得到了string )。 我应该提及的是,我知道将要执行此操作,但是我特别希望将其内置到容器中。 我是否缺少明显的东西?这有可能吗? 问题答案: Docker v1.9或更高版本 如果您使用的是Do

  • 问题内容: 我在使用primefaces树实现实现动态树结构时遇到了一些麻烦。在primeface提供的展示柜中,代码的结构如下所示。但是,这是非常静态的。我试图弄清楚如何处理从数据库中获取的数据,在编译时树的深度是未知的。 我以为我可能需要某种递归方法来实现此目的,但我无法完全理解实现的样子。 有什么想法吗? 以下是primefaces的示例代码 问题答案: