是否可以引用在匿名函数中创建对象的this
:
var marker = Marker(
icon: BitmapDescriptor.defaultMarker,
onTap: () {
/// <--- here I need a reference to the marker
});
this
不起作用,因为它是外部对象,是否可以投射类似this@Marker
答案 0 :(得分:2)
您需要拆分变量声明和初始化,因为初始化代码无法引用其初始化的变量。
如果代码在函数内,则可以使用
Marker marker;
marker = Marker(
icon: BitmapDescriptor.defaultMarker,
onTap: () {
/// <--- here I need a reference to the marker
});
答案 1 :(得分:1)
您不能在课程本身之外引用this
。
您可以尝试使用marker
来引用正在创建的标记,但这在这里不起作用,因为不能在其自己的初始化程序中引用变量。
因此,您必须从初始化中拆分变量声明:
Marker marker;
marker = Marker(
icon: BitmapDescriptor.defaultMarker,
onTap: () {
marker.something();
});