我有这个JavaScript类:
'use strict;'
/* global conf */
var properties = {
'PROPERTIES': {
'CHANNEL': 'sport',
'VIEW_ELEMENTS': {
'LOADER_CLASS': '.loader',
'SPLASH_CLASS': '.splash'
}
}
};
在JavaScript中,我可以使用以下属性:properties.PROPERTIES.CHANNEL
是否可以将其转换为DART?有这样做的最佳做法吗?
答案 0 :(得分:3)
有不同的方式。
你可以创建一个地图
<强> my_config.dart 强>
in
然后像
一样使用它<强> main.dart 强>
const Map properties = const {
'CHANNEL': 'sport',
'VIEW_ELEMENTS': const {
'LOADER_CLASS': '.loader',
'SPLASH_CLASS': '.splash'
}
}
或者您可以使用类来获得正确的自动完成和类型检查
<强> my_config.dart 强>
import 'my_config.dart';
main() {
print(properties['VIEW_ELEMENTS']['SPLASH_CLASS']);
}
<强> main.dart 强>
const properties = const Properties('sport', const ViewElements('.loader', '.splash'));
class Properties {
final String channel;
final ViewElements viewElements;
const Properties(this.channel, this.viewElements;
}
class ViewElements {
final String loaderClass;
final String splashClass;
const ViewElements(this.loaderClass, this.splashClass);
}
答案 1 :(得分:0)
按照上述答案使用类,可以方便地实现静态变量,缺点是仍必须对其进行编译/重建。
class CONFIG {
static final String BUILD = "Release";
static final String DEPLOYMENT = "None";
}
在通过以下方式导入后,可以在单独的类中使用它:
var xyz = CONFIG.BUILD;