如何收听ChangeNotifier内平面对象属性的变化?

时间:2020-03-24 01:56:20

标签: flutter dart

我正在使用提供程序。 例如

class MyModel(){
  int foo;
  String bar = 'baaaa';
}

class MyScreenViewModel() with ChangeNotifier{
MyModel myModel = MyModel();
}


class MyScreen(){
//...something
  ChangeNotifierProvider{
    Text('$provider.myModel.bar')
    Buttone(onTap =>  provider.myModel.bar = 'bbbbbb')
  }
}

这是行不通的。 所以我在MyScreenViewModel上添加了一些方法

changeBar(String str){
  myModel.bar = str; 
  notifyListeners(); 
}

这是监听更改内部Object属性的唯一方法吗?

我正在寻找这样的

class MyScreenViewModel() with ChangeNotifier{
  MyModel myModel = MyModel();
  myModel.addListener();
}

1 个答案:

答案 0 :(得分:0)

每次要告诉小部件模型已更改时,您都需要使用100.0f用户,以便它们会进行自我更新(这是非常简单的解释)。

了解如何将notifyListeners();ProviderChangeNotifierProvider结合使用,那么您只需要使用Consumer,在线上有很多不错的资料,请认真阅读。

您提供的所有代码都没有任何意义,因此我将其视为伪代码。