Dart如何匹配类的构造函数中的命名参数?
示例(有效):
Class MyWidget {
final String a;
final String b;
MyWidget (
@required this.a,
@required this.b
)
@override // Yes, it's Flutter
Widget build(BuildContext context) {
return ....
}
}
/// Calling MyWidget
return MyWidget(
a: x,
b: y
)
这按预期工作。但是在这个设置中,我被迫将MyWidget中的变量命名为与命名参数相同,因为调用中的'a'与MyWidget中的'this.a'相同。
我想要的是这样的:
Class MyWidget {
final String aaa;
final String bbb;
MyWidget (
@required a // And assign that value to this.aaa,
@required b // And assign that value to this.bbb
)
}
如何将传递的命名参数'a'的值赋给局部变量'aaa'?
你必须牺牲this.xxx
语法的简单性,如下所示:
class MyWidget {
final String aaa;
final String bbb;
MyWidget({a, b})
: aaa = a,
bbb = b;
}