- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的 AutoTabsScaffold [bottom nav] 添加 auth guard 但它不起作用,它在其他导航页面中工作但不只是在我的登录页面中 [其中 AutoTabsScaffold|底部导航位于] 我在这里遗漏了什么吗?
使用:auto_route:^3.2.4
[pub.dev]
登陆页面类
return AutoTabsScaffold(
backgroundColor: Theme
.of(context)
.scaffoldBackgroundColor,
routes: const [
HomeRouter(),
CategoryRouter(),
OrderRouter(),
ProfileRoute(),
],
bottomNavigationBuilder: (_, tabsRouter) {return}
类认证守卫:
class RouteGuard extends AutoRedirectGuard {
final AuthService authService;
RouteGuard(this.authService) {
authService.addListener(() {
if (!authService.authenticated) {
// should be called when the logic effecting this guard changes
// e.g when the user is no longer authenticated
reevaluate();
}
});
}
@override
void onNavigation(NavigationResolver resolver, StackRouter router) {
if (authService.authenticated) return resolver.next();
router.push(
LoginRoute(
onLoginCallback: (_) {
resolver.next();
router.removeLast();
},
),
);
}
}
路由器.dart
@MaterialAutoRouter(
replaceInRouteName: 'Page|Screen,Route',
routes: <AutoRoute>[
AutoRoute(page: OrderPreviewPage),
AutoRoute(page: AddCardPage,),
AutoRoute(page: PaymentPage,),
AutoRoute(page: SplashPage, initial: true),
AutoRoute(page: MyCartPage,),
AutoRoute(page: IntroPage),
AutoRoute(page: RegisterPage),
AutoRoute(page: ProductDetailPage),
AutoRoute(page: ProductListingPage),
AutoRoute(page: CartSummaryPage,),
AutoRoute(page: LoginPage, path: 'login'), //name: 'LoginRoute'
AutoRoute(
initial: true,
page: LandingPage,
path: 'landing',
children: [
AutoRoute(
path: '',
name: 'homeRouter',
page: HomePage,
),
AutoRoute(
path: 'category',
name: 'categoryRouter',
page: CategoryPage,
),
AutoRoute(
path: 'orders',
name: 'orderRouter',
page: OrdersPage,
),
AutoRoute(
path: 'profile',
guards: [RouteGuard], //<------- here registered router guard but not working in Tabscaffold page
page: ProfilePage,
),
// RedirectRoute(path: '*', redirectTo: ''),
],
),
],
)
尝试在底部导航中添加路由守卫,但它没有像我预期的那样工作。我在这里缺少什么?
最佳答案
我有一个类似的结构,对我来说,它的工作原理是在你着陆的情况下在嵌套导航的顶部添加守卫:
AutoRoute(
initial: true,
page: LandingPage,
guards: [RouteGuard],
path: 'landing',
关于Flutter:Autoroute:RouteGuard 在 AutoTabsScaffold 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72013662/
我有一个应用程序,我的导航栏根据他们所在产品的“区域”而变化。我正在使用 Angulars Route Guards 来确保检查他们的访问权限,以便他们只能点击他们有权访问的路线.这很好用! 在我的
我正在尝试为我的 AutoTabsScaffold [bottom nav] 添加 auth guard 但它不起作用,它在其他导航页面中工作但不只是在我的登录页面中 [其中 AutoTabsScaf
我必须使用 Angular 8 创建一个 SPA。 在 SPA 中,我将拥有一个只有在用户有权限时才能看到的表单的组件。 为此我本来打算使用路由守卫,问题是守卫运行在客户端的浏览器中,不能保证表单的组
我的 Angular 4 应用有几条路线: const appRoutes: Routes = [ { path: '', component: MainMenuComponent, canAct
我是一名优秀的程序员,十分优秀!