Dart - 没有为"Map"类定义setter"someVar"

use*_*675 0 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;
Run Code Online (Sandbox Code Playgroud)

此代码产生以下错误:

"The setter 'someVar' is not defined for the class 'Map'."
Run Code Online (Sandbox Code Playgroud)

当然,我可以"发明"一个新类Settings,但还有其他解决方案吗?

stw*_*ton 5

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

settings['someVar'] = 5;
Run Code Online (Sandbox Code Playgroud)

你也可以使用这个addAll方法;

settings.addAll({'someVar': 5, 'someOtherVar': 10});
Run Code Online (Sandbox Code Playgroud)

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