flutter 状态保持之provide

代码:

1.

import 'package:flutter/cupertino.dart';

class Counter with ChangeNotifier{
int num = 1;
increase(){
num ++ ;
notifyListeners();//加入监听者模式
}
}
2.
void main() {
var counter = Counter();
var providers = Providers();
providers..provide(Provider<Counter>.value(counter));//注册通知
runApp(ProviderNode(child: MyApp(),providers: providers,));
}
3.
child: Provide<Counter>(
builder: (context,child,counte){
return Text(//获取通知的数据
'${counte.num}',
style: Theme.of(context).textTheme.display1,
);
},
)
4.
onPressed: (){//触发通知
Provide.value<Counter>(context).increase();
},
总结:
 

Provide 状态保持  类似于OC的通知

1.在需要保持的数据方法中注册通知者

xx 为方法名

xx(){

notifyListeners()

}

2.在main函数注册通知方法 

yy 是方法对象名

var yy = xx();

var proders = Providers();

proders..provide(Provide<xx>.value(yy));

runApp(ProviederNode(child:MyApp(),provides:proders));

3.使用通知数据

zz 是任意的变量名 代表XX对象

aa 是XX下的变量

child:Provide<xx>(

builder:(context,child,zz){

return Text(

‘${zz.aa}

)

}

 

)

4.触发通知

mm  是xx下的方法

onPress:(){

Provide.value<xx>(context).mm;

 

}

 

猜你喜欢

转载自www.cnblogs.com/pp-pping/p/12240931.html