问题描述
我正在开发一个带有 GetX 功能的 Flutter 项目,但当然我遇到了一些无关紧要的错误,并且根据我上面提到的令人惊讶的错误。
import 'package:Flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:tajicEasy/controller/authController.dart';
import 'package:tajicEasy/controller/userController.dart';
import 'package:tajicEasy/ui/auth/login_in.dart';
import 'package:tajicEasy/ui/widgets/bottomNavigationBar.dart';
class LandingPage extends GetWidget<AuthController> {
@override
Widget build(BuildContext context) {
return GetX(initState: maininit(),builder: (_) {
print("here1");
if (Get.find<AuthController>().user == "") {
print("here1");
return Login();
} else {
print("here1");
return AppMain();
}
});
}
maininit() async {
print("here");
await Get.put<UserController>(UserController());
print("here");
await Get.put<AuthController>(AuthController());
print("here");
}
}
我在第一次打印后收到错误
await Get.put<UserController>(UserController());
import 'package:get/get.dart';
import 'package:tajicEasy/model/usermodel.dart';
import 'package:tajicEasy/services/database.dart';
class UserController extends GetxController{
var _usermodel = usermodel().obs;
usermodel get user => _usermodel.value;
set user(usermodel value) => this._usermodel.value;
Database _db = Database();
bool enable = false;
enabled(bool value) {
print("here u");
enable = !value;
update();
}
void clear() {
print("here u");
_usermodel.value = usermodel();
}
}
我对 GetX 了解不多,因为我是第一次研究它,所以请对我宽容。
在此之后,我收到以下错误,此错误已根据 jahangir 的第一个答案删除
我的飞溅活动代码是
import 'dart:async';
import 'package:Flutter/material.dart';
import 'package:get/get.dart';
import 'package:tajicEasy/ui/auth/landingPage.dart';
import 'package:tajicEasy/ui/pages/home_page.dart';
import 'mySharedPreferences.dart';
import 'onBoarding_page.dart';
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();
myAppState();
}
bool isFirstTimeOpen = false;
myAppState() {
MySharedPreferences.instance
.getBooleanValue("firstTimeOpen")
.then((value) => setState(() {
isFirstTimeOpen = value;
})).then((value) => loadSplashScreen());
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,body: Center(
child: Image.asset(
"assets/images/logo.png",width: double.infinity,),);
}
Future<Timer> loadSplashScreen() async {
return Timer(Duration(seconds: 3),onDoneLoadind);
}
onDoneLoadind(){
Get.offAll(() => {
if(isFirstTimeOpen == true){
LandingPage()
}else{
HomePage()
}
});
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)