从全局静态函数访问数据
accessing data from a static function globally
在我的闪屏页面的init()中,我正在调用下一页的函数以便从后端加载数据,同时闪屏将运行。
这里的问题是它只调用静态函数,并且该函数将数据存储在本地。
在我的另一个页面上,我想要全局数据,以便我可以在该特定页面上的任何位置访问该数据。
我的代码的亮点是:
启动画面页面初始化代码:
void initState() {
super.initState();
FeedScreen.getdata();
}
我的下一页,即 FeedScreen 页面,我想要全局数据的地方是:
class FeedScreen extends StatefulWidget {
@override
_FeedScreenState createState() => _FeedScreenState();
static void getdata() async{
CollectionReference collectionReference = FirebaseFirestore.instance
.collection('Feed');
var snapshot = await collectionReference.get();
snapshot.docs.forEach((result){
collectionReference.doc(result.id).collection('myfeed').snapshots().listen((event) {
var latarr,longarr,titlearr,descarr,urlarr;
for(int i=0;i<event.docs.length;i++){
urlarr.add(event.docs[i].data()['imageurl']);
latarr.add(event.docs[i].data()['lat']);
longarr.add(event.docs[i].data()['long']);
titlearr.add(event.docs[i].data()['title']);
descarr.add(event.docs[i].data()['description']);
}
});
});
}
我想在 getdata() 函数之外访问 latarr、longarr、titlearr、descarr、urlarr 的值。
在我的闪屏页面的init()中,我正在调用下一页的函数以便从后端加载数据,同时闪屏将运行。
这里的问题是它只调用静态函数,并且该函数将数据存储在本地。 在我的另一个页面上,我想要全局数据,以便我可以在该特定页面上的任何位置访问该数据。
我的代码的亮点是:
启动画面页面初始化代码:
void initState() {
super.initState();
FeedScreen.getdata();
}
我的下一页,即 FeedScreen 页面,我想要全局数据的地方是:
class FeedScreen extends StatefulWidget {
@override
_FeedScreenState createState() => _FeedScreenState();
static void getdata() async{
CollectionReference collectionReference = FirebaseFirestore.instance
.collection('Feed');
var snapshot = await collectionReference.get();
snapshot.docs.forEach((result){
collectionReference.doc(result.id).collection('myfeed').snapshots().listen((event) {
var latarr,longarr,titlearr,descarr,urlarr;
for(int i=0;i<event.docs.length;i++){
urlarr.add(event.docs[i].data()['imageurl']);
latarr.add(event.docs[i].data()['lat']);
longarr.add(event.docs[i].data()['long']);
titlearr.add(event.docs[i].data()['title']);
descarr.add(event.docs[i].data()['description']);
}
});
});
}
我想在 getdata() 函数之外访问 latarr、longarr、titlearr、descarr、urlarr 的值。