Flutterやろうよ!! ..
[2ch|▼Menu]
319:デフォルトの名無しさん
22/08/08 00:34:12.55 sRQZ4vBgd.net
Providerを使ったMVVMモデルの勉強をしているのですが、メソッドを実行するにはどうしたら良いでしょうか。
説明用のコードを作成しました。flutter 3.x 、provider 6.0.3 で動作確認をしています
1ファイルに詰め込みましたので、コピペで動きます。
URLリンク(pastebin.com)

ボタン1を押すと画面上部の「VMから受信した値 x」の数字部分がインクリメントします。
ボタン2と3は押すとリストが上下にスクロールします。
URLリンク(i.imgur.com)
ボタン1を押した時はViewmodelの中身を書き換えてnotifyListeners()し、表示する側はConsumerで囲って中身を表示する
というもので、ここは問題ありません。
ボタン2と3は押した後S2A.scrollRequest メソッドを呼んでほしいのですが、それをMVVM的に正しくやる方法を教えて頂けますでしょうか。
現状はViewModelの中にvoid Function() anyFunction;の関数を定義して
使う側でanyFunction=(){xxx;} と関数をセットしているのですが、色々な記事を見てもこんな事している例が無く間違っている気がしてなりません。
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
アプリのグローバル変数の領域にGlobalKeyを設置すれば、Globalkey経由でcontextを取得出来るのですが、
グローバル変数に値を設置するのはアンチパターンだと思いますし、MVVMの勉強なので今回は避けたいです。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

297日前に更新/163 KB
担当:undef