在dart中定义静态const对象

时间:2016-08-04 04:56:53

标签: dart

我正在学习飞镖。我在创建一个包含一些配置参数的简单静态const对象时遇到了麻烦。

这是我在javascript中定义对象的方式:

var configObj = {
 webServer: {
     appBaseHref : "/"
 },
 auth0: {
     apiKey: "<API_KEY>",
     domain: "<DOMAIN>",
     callbackUrl: "<CALLBACK_URL>"
 }
};

如何将其转换为飞镖? 我是否需要创建一个类并使用相关参数初始化它,或者是否有更简单的方法来定义静态对象? 谢谢!

1 个答案:

答案 0 :(得分:3)

const configObj = const {
 'webServer': const {
     'appBaseHref' : "/"
 },
 'auth0': const {
     'apiKey': "<API_KEY>",
     'domain': "<DOMAIN>",
     'callbackUrl': "<CALLBACK_URL>"
 }
};

Dart允许其他类型作为映射中的键而不是字符串,这就是字符串键需要引号的原因。要在Dart中创建值const,请使用const关键字。子对象需要单独构成const。

有讨论从范围推导出是否需要const并可能在Dart 2.0中自动应用它。