两个页面的计数同步减少获取

import 'package:flutter/material.dart';import 'package:provider/provider.dart';void main() {  runApp(MyApp());}class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    //应用MultiProvider能够创立多个顶层共享数据    return MultiProvider(      providers: [ChangeNotifierProvider(create: (_) => Counter())],      child: MaterialApp(        title: "Provider示例",        home: FirstPage(),      ),    );  }}//第一个页面class FirstPage extends StatefulWidget {  const FirstPage({Key? key}) : super(key: key);  @override  _FirstPageState createState() => _FirstPageState();}class _FirstPageState extends State<FirstPage> {  late Counter counter;  @override  Widget build(BuildContext context) {    counter = context.watch<Counter>();    return Scaffold(      appBar: AppBar(        title: Text("第一个页面"),        actions: <Widget>[          FlatButton(            child: Text("下一页"),            //路由跳转至第二页            onPressed: () =>                Navigator.push(context, MaterialPageRoute(builder: (context) {              return SecondPage();            })),          ),        ],      ),      body: Center(        //获取计数器中的count的值        child: Text("${Provider.of<Counter>(context).count}"),      ),      floatingActionButton: FloatingActionButton(        onPressed: () {          //调用数据模型中的increment办法更改数据           counter.increment();          // context.read<Counter>().increment();          //Provider.of<Counter>(context,listen: false).increment();        },        child: Icon(Icons.add),      ),    );  }}//第二页class SecondPage extends StatelessWidget {  @override  Widget build(BuildContext context) {    //Provider.of<Counter>(context,listen: true);等价于context.watch<Counter>().increment();    //Provider.of<Counter>(context,listen: false);等价于context.read<Counter>().increment();    Counter counter =Provider.of<Counter>(context,listen: true);    print("我是用来打印的哦");    return Scaffold(      appBar: AppBar(        title: Text("第二个页面"),      ),      body: Center(        //获取计数器中的count值        child: Text("${counter.count}"),      ),      floatingActionButton: FloatingActionButton(        onPressed: () {          //调用数据模型中的increment办法更改数据          context.read<Counter>().increment();//第一种形式          // Provider.of<Counter>(context,listen: false).increment();//第二种形式          // counter.increment();//第三种形式        },        child: Icon(Icons.add),      ),    );  }}//计数器类Counter 即为数据Model 实际上就是状态//Counter不仅存储了数据,还蕴含了更改数据的办法,并裸露相干的数据//当调用notifyListeners 时它会告诉所有的听众进行刷新class Counter with ChangeNotifier {  //存储数据  int _count = 0;  //提供内部可能拜访的数据  int get count => _count;//提供更改数据的办法  void increment() {    _count++;    //告诉所有的听众进行刷新    notifyListeners();  }}