我正在与 Flutter 合作使用稳定的 Flutter SDK 版本制作移动应用程序。但我也想尝试 Flutter Desktop 和 Flutter Web,它们还不是 Flutter 稳定频道的一部分,但存在于 Flutter 开发频道中。
我的问题是...如何在不覆盖我机器上的 Flutter 稳定版本的情况下尝试 Flutter Desktop 和 Flutter Web?
我有一个 GridView,其中包含StatefulWidgets列表,该列表显示正在上传的图像的预览以及该图像的上传进度。
列表中的每个小部件都应该有自己的状态,其中一些可以成功上传,而另一些则可能失败,因此用户只能重试那些上传失败的图像。
问题是:
Riverpod 只能创建一个实例,并且该实例在整个项目中共享。因此,如果我使用 Riverpod 跟踪每个图像的状态,则 GridView 上的所有图像将共享相同的状态,而不是每个图像都有自己的状态。
有没有一种方法可以使用相同的提供程序,而不是每次调用context.read(provider)或watch(provider.state) 时都获取相同的实例,而是得到一个新的独立且新鲜的实例?
当第一次尝试失败时,有什么方法可以重试 FutureProvider 吗?
提供者:
final _dataProvider = FutureProvider((ref) => ref.watch(productRepositoryProvider).fetchProducts());
Run Code Online (Sandbox Code Playgroud)
消费者:
return watch(_dataProvider).when(
data: (value) {
return Text('Ok');
},
loading: () => const CircularProgressIndicator(),
error: (error, stackTrace) {
return FlatButton(
child: Text('Retry'),
onPressed: () {
// What should I add here to retry this FutureProvider?
},
);
},
);
Run Code Online (Sandbox Code Playgroud) 我们可能知道,Nuxt.js默认根据pages文件夹的文件结构生成路由。
我想知道的是,如何使用文件并手动放置我的路由,而不是让 Nuxt.js 为我生成它们?
为什么?
我想要更多地控制我的路线,更明确的代码和项目中的更少文件。
我认为设置路由参数更容易,将它们显式定义到routes.js文件中,而不是通过将文件添加到项目中来设置它们。
知道如何做到这一点,就像在普通的 Vue 应用程序上一样吗?谢谢。
我知道我们可以使用$router.push({ name: 'route-name' }).
我想知道的是如何使用child route name. 这是我的路线结构:
export default [
{
path: '/',
name: 'home',
component: () => import('@/views/Home.vue'),
childs: [
{
name: 'home.about',
path: '/about',
component: import('@/views/Home/About.vue')
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
但我的控制台说[vue-router] Route with name 'home.about' does not existfor $router.push({ name: 'home.about' }).
我缺少什么?
Obs:这个想法是不要使用 hard 路由到孩子route path。
我正在编写很多单元测试,恐怕有一天我会回来阅读测试代码,而无法理解所测试的内容。
问题是:如何使用PHPDoc记录PHPUnit测试?
我想要的是向雄辩的模型添加方法,以便我可以链接它们,例如:
class MovieResolver
{
public function getMoviesFeaturingToday(array $args)
{
// Movie is an Eloquent model
$movie = (new Movie())
->getMoviesFeaturingTodayOnTheater($args['movieTheaterId'])
->getBySessionCategory($args['sessioncategory']);
// And keep doing some operations if necessary, like the code below.
// I cannot call the get() method unless I finish my operations.
return $movie->whereDate('debut', '<=', Carbon::today())
->orderBy('debut', 'desc')
->get();
}
}
Run Code Online (Sandbox Code Playgroud)
但将这些方法添加到模型中:
class Movie extends Model
{
public function getMoviesFeaturingTodayOnTheater($theaterId)
{
return $this->whereHas(
'sessions.entries.movieTheaterRoom',
function ($query) use ($theaterId) {
$query->where('movie_theater_id', $theaterId);
}
);
}
public function getBySessionCategory($sessionCategory) …Run Code Online (Sandbox Code Playgroud) 我有一个 nuxt 网站,其中有一个unsupported page. 我注意到当我只想显示一个没有外部请求的静态页面时,Nuxt 正在加载它的文件,因为它是一个简单的页面,没有理由加载所有那一堆文件。
所以问题是:当访问 Nuxt 特定路由时,如何提供静态 HTML 文件,例如:/unsupported.
现在我正在使用空布局提供页面:
\n\n<template>\n <div class="unsupported">\n <div class="container">\n <i class="unsupported-icon fa fa-frown-o" />\n\n <h1>Seu navegador n\xc3\xa3o \xc3\xa9 suportado</h1>\n <h2>Para usar o Cinemax, n\xc3\xb3s recomendamos que use a vers\xc3\xa3o mais recente do <a href="#">Firefox</a>, <a href="#">Chrome</a> ou <a href="#">Safari</a></h2>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n layout: \'empty\'\n}\n</script>\n\n<style lang="scss">\n.unsupported {\n display : flex;\n flex-direction : column;\n justify-content: center;\n align-items : center;\n\n &-icon {\n font-size: 4rem;\n }\n}\n</style>\nRun Code Online (Sandbox Code Playgroud)\n\n但我需要它只是一个普通的 …
flutter ×4
nuxt.js ×2
riverpod ×2
vue.js ×2
eloquent ×1
flutter-web ×1
laravel ×1
macos ×1
php ×1
phpdoc ×1
phpunit ×1
router ×1
static-html ×1
vue-router ×1