Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 区分多个小部件实例的颤振_Flutter_Dart - Fatal编程技术网

Flutter 区分多个小部件实例的颤振

Flutter 区分多个小部件实例的颤振,flutter,dart,Flutter,Dart,我正在编写一个应用程序,其中我正在使用一个自定义小部件的多个实例,我想调用一个特定实例的方法 代码示例: Widget build(BuildContext context) { return Scaffold( drawer: new DrawerOnly(storage: CounterStorage()), appBar: AppBar(), body: Stack( c

我正在编写一个应用程序,其中我正在使用一个自定义小部件的多个实例,我想调用一个特定实例的方法

代码示例:

Widget build(BuildContext context) {
        return Scaffold(
            drawer: new DrawerOnly(storage: CounterStorage()),
            appBar: AppBar(),
            body: Stack(
                children: <Widget>[
                    new Center(
                        child: new Object3D(

                        ),
                    ),
                    new Positioned(
                        top: 20,
                        left: 0,
                        child: new Object3D(

                        ),
                    ),
                    new Positioned(
                        top: 20,
                        left: 100,
                        child: new Object3D(

                        ),
                    ),
                    new Positioned(
                        top: 120,
                        left: 0,
                        child: new Object3D(

                        ),
                    ),
                ],
            )
        );
    }

    mymethod() {
        //call first Object3D's method from here
    }
}
小部件构建(构建上下文){
返回脚手架(
抽屉:新抽屉(存储:CounterStorage()),
appBar:appBar(),
主体:堆栈(
儿童:[
新中心(
子对象:新的Object3D(
),
),
新定位(
前20名,
左:0,,
子对象:新的Object3D(
),
),
新定位(
前20名,
左:100,,
子对象:新的Object3D(
),
),
新定位(
排名:120,
左:0,,
子对象:新的Object3D(
),
),
],
)
);
}
mymethod(){
//从这里调用第一个Object3D的方法
}
}

如何从其父对象调用第一个Object3D的方法?

将子对象存储在如下列表中:

final object3Ds=List.generate(4,()=>Object3D());
现在,将该引用存储在父级中,然后可以在
build
方法中传递该列表的元素:

。。。
堆叠(
儿童:[
定位(
子对象:object3Ds[0],
...
最后,您现在可以使用创建的列表访问对象:

object3Ds[0].callMethod();

您将孩子存储在如下列表中:

final object3Ds=List.generate(4,()=>Object3D());
现在,将该引用存储在父级中,然后可以在
build
方法中传递该列表的元素:

。。。
堆叠(
儿童:[
定位(
子对象:object3Ds[0],
...
最后,您现在可以使用创建的列表访问对象:

object3Ds[0].callMethod();

您需要从父窗口小部件调用方法?为什么?您需要从父窗口小部件调用方法?为什么?