コード:
1。
インポート 'パッケージ:フラッター/ cupertino.dart';
ChangeNotifierを持つクラスカウンター{
int型NUM = 1;
増加する(){
++;
notifyListeners(); //追加するリスナーモード
}
}
2。
ボイドメイン(){
カウンタ=カウンタ()でした。
VARプロバイダ=プロバイダ();
providers..provide(プロバイダ<カウンタ> .VALUE(カウンタ)); //登録通知
runApp(ProviderNode(子:MyAppを()、プロバイダ:プロバイダ、));
}
3。
子供:提供<カウンタ>(
ビルダー:(文脈、子、counte){
リターンテキスト(//データの通知を受け取ります
'$ {} Counte.num'
スタイル:Theme.of(文脈).textTheme.display1、
);
}、
)
4。
onPressed:(){//トリガー通知
Provide.value <カウンタ>(コンテキスト)()を.increase。
}、
要約:
提供の状態が残っOCのと類似の通知を
データ方式を維持する必要性1.登録通知
xxはメソッド名です。
XX (){
notifyListeners ()
}
2. 主な機能登録通知方法
yyは、オブジェクトのメソッドの名前です。
そこYY = XX ();
prodersプロバイダ=ました()。
proders..provide (提供<xx>は.VALUE (YY ));
runApp (ProviederNode (子:MyAppの()提供:prodersを));
3.通知データ
ZZは、任意の変数名が表すXXオブジェクト
AAはXXです下の変数
子:<xx>は提供(
ビルダー:(文脈、子、ZZ ){
リターンテキスト(
'$ {zz.aa} '
)
}
)
4.トリガー通知
MMはXXのある方法で
たonPress: (){
Provide.value <XX> (コンテキスト).mm 。
}