是否可以监听更改,并在更改时从单独的类获取这些新值并更新当前类中的变量?

Exo*_*uid 5 dart flutter

因此,我在 home_screen dart 文件中,其中有一个文本,我希望它显示另一个类的属性值的实时值。当我从另一个脚本更新类的属性值时,我希望我的 home_screen 文本更新为该新值。我在单独文件中的类如下(简化):

class MyClass {

  static int myNumber = 10;

}
Run Code Online (Sandbox Code Playgroud)

我希望使用另一个文件中 myNumber 的值更新以下文本:

Text('iWantThisToDisplayLiveMyNumber'),
Run Code Online (Sandbox Code Playgroud)

当我从另一个随机脚本更改 myNumber 的值时,如何使Text实时更新始终为 myNumber?

Ben*_*Tan 7

调查提供商。

class MyClass with ChangeNotifier {
        
   static int myNumber = 10;
    
   void changeNumber(){
       myNumber = 1;
       notifyListeners();
   }

 }
Run Code Online (Sandbox Code Playgroud)

在你的 Widget 类中,你可以设置一个“监听器”,如下所示:

int updatedNumber = Provider.of<MyClass>(context, listen: true).myNumber;
Run Code Online (Sandbox Code Playgroud)

这是一种基本且糟糕的方法。请查看此处文档中的“ChangeNotifier”、“ChangeNotifierProvider”和“Provider.of”部分。

https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple

它很容易上手。祝你好运