Big*_*gPP 8 flutter flutter-getx
我有这个 Getx 控制器用于从数据库读取帖子的内容:
class ReadSinglePostController extends GetxController {
var isLoading = true.obs;
var posts = Post(
postID: 1,
userID: 0,
thumbnail: 'thumbnail',
imageList: 'imageList',
title: 'title',
description: 'description',
createdTime: DateTime.now())
.obs; //yes this can be accessed
var postid = 2.obs; //I want this value to change when I click a post in the UI
@override
void onInit() {
super.onInit();
readPost(postid);
}
updateID(var postID) {
postid.value = postID;
print('im print ${postid.value}');
}//should update postid when a post is clicked in the UI
Future readPost(var postID) async {
try {
isLoading(true);
var result = await PostsDatabase.instance.readPost(postID);
posts.value = result;
} finally {
isLoading(false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我现在面临的问题是:要从数据库读取特定的帖子,我需要参数postID。正如您可以想象的那样,当我在 UI 中单击特定的帖子时可以记录此参数,但是如何将该参数传递给此 Getx 控制器呢?或者也许我做错了整件事?
您可以在 Ui 上使用控制器的实例。
例如,在小部件上您调用控制器:
final ReadSinglePostController _controller = Get.put(ReadSinglePostController());
//and when you need to change you do like this:
_controller.updateID(newId);
Run Code Online (Sandbox Code Playgroud)
在 updateID 方法中,您可以调用 load 方法:
updateID(var postID) {
postid.value = postID;
print('im print ${postid.value}');
readPost(postID);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17371 次 |
| 最近记录: |