问题标签 [flutter-scoped-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
193 浏览

flutter - 将作用域模型作为函数参数传递与使用 ScopedModelDescendant

在函数中使用 ScopedModel 的推荐方法是什么?我应该将模型作为参数传递,还是应该在使用模型的任何地方始终使用 ScopedModelDescendant?

使用 ScopedModelDescendant:

传递模型作为参数:

在我看来,他们俩都完成了工作。如果我有多个使用 ScopedModel 的函数,那么将模型作为参数传递似乎是更好的方法。

我应该使用哪一个?

0 投票
1 回答
1942 浏览

firebase - 函数 SignOut Firebase 返回 true - Flutter

当我在应用程序中按下“注销”时,currentUser 变为 null 但并没有真正注销应用程序,我正在使用 ScopedModel,如果我 print(model.isLoggedIn()) 返回 true,则表示应用程序中存在某个用户,但用户为空。

当我按下 signOut 时,我在输出中收到一条消息:

遵循登出代码

这是关于 UserModel 的完整代码: https ://github.com/willsgobi/coleirapet/blob/master/lib/models/loginmodel.dart

0 投票
1 回答
19 浏览

flutter - 如何根据我的用户状态让我的应用程序更改屏幕?

我正在使用 ScopedModel 模式,但我也很感兴趣如何在类似的 Provider 模式中解决同样的问题。

目前,我有一个 ScopedModel,其中暴露了一个名为loggedIn 的布尔值。当 FirebaseonAuthStateChanged 流更改用户登录状态时,我的 ScopedModel 会更改该布尔值,并调用 NotifyListeners。所有直截了当的东西。

现在,我对基于此 ScopedModel 推送或弹出路由的最佳方式感到困惑。

我所有登录的屏幕(需要用户的屏幕)都应该在构建方法中包含以下代码吗?

在每个屏幕上都有这段代码似乎有点过分。有没有一种方法可以只在某处定义此日志屏幕更改行为一次?