我从演示中复制了该代码的基本结构,并根据自己的需要对其进行了调整(并针对这个问题进行了缩减)。
但我对一些事情感到困惑。也许 Dart 专家可以启发我......
import 'package:flutter/material.dart';
// Show policy widget - shows
class ShowPolicy extends StatelessWidget {
final Policy policy;
ShowPolicy(this.policy);
@override
Widget build(BuildContext context) {
return Text('Test text ' + policy.riskName + ' ' + policy.policyNumber);
}
}
// Policy class
class Policy {
final String riskName;
final String policyNumber;
Policy( { this.riskName, this.policyNumber } );
}
// what is this variable doing here?. Shouldn't it be an a class?
List<Policy> allPolicies = [
Policy(riskName: 'Lilly', policyNumber: 'PY123456-4'),
Policy(riskName: 'Lilly', policyNumber: 'PY123456-3'),
Policy(riskName: 'Lilly', policyNumber: 'PY123456-2'),
Policy(riskName: 'Farnesbarnes', policyNumber: 'PY123647-1')
];
Run Code Online (Sandbox Code Playgroud)
所以基本上ShowPolicy返回一个文本小部件。它有一个接受Policy对象的构造函数。该类Policy包含 2 个成员变量,riskName并且policyNumber.
我的问题是:-
allPolicies最后声明的变量属于什么?为什么这里允许它并且为什么不必在类中声明它?
但我的主要问题是:- 为什么Policy类构造函数变量包含在大括号 {} 中?如果我删除它们,Policy 类仍然可以编译,但现在allPolicies变量不能编译(错误消息是“需要 2 个必需参数,但找到 0 个参数”)
| 归档时间: |
|
| 查看次数: |
3833 次 |
| 最近记录: |