我看过很多使用点的教程,而有些使用了2。这的实际含义是什么?
示例
Array().add()
Animation()..addListener(() {})
答案 0 :(得分:7)
..
运算符是“飞镖”级联运算符。当您不关心返回值时,对链接操作很有用。
这也是对始终返回this
被做成以下
final foo = Foo()
..first()
..second();
严格等于此:
final foo = Foo();
foo.first():
foo.second();
答案 1 :(得分:0)
只是个傻瓜,..实际上不是Dart的运算符,只是Dart语法糖的一部分。
除了提到的使用级联来链接对函数的调用之外,您还可以使用它来访问同一对象上的字段。
请考虑以下代码,该代码取自Dart文档:
querySelector('#confirm') // Get an object.
..text = 'Confirm' // Use its members.
..classes.add('important')
..onClick.listen((e) => window.alert('Confirmed!'));
第一个方法调用querySelector()返回选择器对象。级联符号后面的代码在此选择器对象上运行,而忽略了可能返回的任何后续值。
有关级联的更多信息,请查看Dart的outstanding documentation!