- Based on provider version 4.3.3, only the basic usage is introduced here, and more usage reference documents
- document address
Step 1: Install
Step 2: Create a provider object instance
-
Official documents do not use ChangeNotifierProvider.value to create instances, as follows.
-
Officially recommended method:
//可以放在main.dart入口文件,也可以放在其他你需要的位置
Provider(
create: (_) => MyModel(),
child: ...
)
//MyModel()只是单纯的示例对象
class MyModel{
int data=0;
void setData(int NewData){
this.data=NewData
}
}
-
Create an object using Provider.value
ChangeNotifierProvider.value( value: MyModel(), child: ... )
The official documentation says this:
//所以MyModel()应该是已经存在的 ChangeNotifier
class MyModel extends ChangeNotifier{
int data=0;
void setData(int NewData){
this.data=NewData
notifyListeners();
}
}
Step 3: Get the value
在你需要的地方:MyModel res =Provider.of<MyModel>(context);
print(res.data) //获取值
res.setData(2) //设置值
Example:
- main.dart
- ~/store/provider/home.dart’
- Use ~/pages/Tabs/Tabs.dart