Dart - 没有为“Map”类定义setter“someVar”

时间:2017-05-20 12:27:44

标签: dart dart2js

我正在尝试将一些脚本“移植”到Dart。了解一切如何运作等 但是存在一个问题 - 在JavaScript中我们可以设置并获取对象中的任何变量。 在Dart中我们有一个Map类。我不知道如何使用它(Dart API参考没有太多帮助)。 目前我有:

Map settings;
//Then I get an dynamic result of a function that gives either null or object.
settings = result ?? {};
settings.someVar = 5;

此代码会产生以下错误:

"The setter 'someVar' is not defined for the class 'Map'."

当然,我可以“发明”一个新课程Settings,但还有其他解决方案吗?

1 个答案:

答案 0 :(得分:5)

使用Map,您可以使用[][]=运算符来获取值。所以在这种情况下你会像这样使用它;

settings['someVar'] = 5;

您还可以使用addAll方法;

settings.addAll({'someVar': 5, 'someOtherVar': 10});

Dart API参考:operator []operator []=addAll