码迷,mamicode.com
首页 > 其他好文 > 详细

flutter 状态保持之provide

时间:2020-01-29 20:13:15      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:方法   ica   tin   通知   pac   counter   turn   需要   ase   

代码:

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;

 

}

 

flutter 状态保持之provide

标签:方法   ica   tin   通知   pac   counter   turn   需要   ase   

原文地址:https://www.cnblogs.com/pp-pping/p/12240931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!