我想使用userController内的LoginController令牌值来获取authToken,authToken是一个obs值,但我在userController内获得的值是未更新的(即初始设置值为null(。
登录控制器
final token = "".obs;
isLoggedIn()async{
var storageToken = await _storage.read(key: "token");
token (storageToken);
print(token.value) //gives a value
}
用户控制器
var loginController = Get.put(LoginController());
home()async{
var token = loginController.token.value
print(token) // gives empty string
}
原因是您通过将此代码Get.put(LoginController())
放在UserController上再次初始化了LoginController。
您可以在UserController上以两种方式处理此问题:
var loginController = Get.find<LoginController>();
var token = loginController.token.value;
或
var token = Get.find<LoginController>().token.value;