dependencies:
provider:
import 'package:dart_printf/dart_printf.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; class Counter with ChangeNotifier {
Counter() {
printf('init');
}
int _n = 0;
int get n => _n;
set n(v) {
_n = v;
notifyListeners();
}
} void main() {
var _app = MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => Counter()), // var counter = Counter();
// ChangeNotifierProvider.value(value: counter),
],
child: MyApp(),
);
runApp(_app);
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
} class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
} class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home Page'),
),
body: Column(
children: [
Center(
child: Text('home page ${context.watch<Counter>().n}'),
),
W1(),
W2(),
],
),
floatingActionButton: FloatingActionButton(
onPressed: () {
context.read<Counter>().n++;
},
),
);
}
} class W1 extends StatefulWidget {
@override
_W1State createState() => _W1State();
} class _W1State extends State<W1> {
@override
Widget build(BuildContext context) {
return Container(
width: 100,
height: 100,
child: Text(context.watch<Counter>().n.toString()),
);
}
} class W2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
width: 100,
height: 100,
child: Text(context.watch<Counter>().n.toString()),
);
}
}

最新文章

  1. sizeof和小部分c++语法
  2. [Unity3D插件]2dtoolkit系列二 动画精灵的创建以及背景图的无限滚动
  3. dwz中权限的控制
  4. struts2完全捕获404错误的方法
  5. How Tomcat Works(七)
  6. HDU1548——A strange lift(最短路径:dijkstra算法)
  7. Face Alignment at 3000FPS(C++版)工程配置
  8. 每天一个JS 小demo之树菜单。主要知识点:DOM方法综合运用,递归运用
  9. java对excel表格的上传和下载处理
  10. EJBCA安装教程+postgresql+wildfly10
  11. ELK学习总结(1-3)倒排索引
  12. Dubbo2.6.5入门——管控台的安装
  13. CMD命令:不是内部或者外部命令也不是可运行的程序或批处理文件
  14. 压力测试+接口测试(工具jmeter)
  15. mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
  16. Symfony2学习笔记之事件分配器
  17. opencv学习之路(16)、膨胀腐蚀应用之走迷宫
  18. PHP array
  19. python 回溯法 子集树模板 系列 —— 17、找零问题
  20. Spring之使用表达式配置切入点

热门文章

  1. 洛谷P6218
  2. bzoj 2038(莫队算法)
  3. P5686 和积和
  4. luogu p2622
  5. Golang简易版 网站路径扫描demo
  6. mac或linux常见命令
  7. Spring听课笔记(tg)2
  8. 文本处理三剑客简介(grep、awk、sed)
  9. 制作MySQL的Windows服务+创建用户及授权
  10. CCF CSP 202012-1 期末预测之安全指数