首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用新的API (非比较)在角火v7中创建防空洞

如何用新的API (非比较)在角火v7中创建防空洞
EN

Stack Overflow用户
提问于 2022-09-21 11:12:49
回答 1查看 102关注 0票数 0

我遇到了错误

TypeError:无法提升未知的可观察类型

当尝试使用v7角火与新的API。

特别是"@angular/fire": "^7.4.1",它是角14,火基9。

注意,作为开发人员不推荐的故意选择,我在我的应用程序中不使用compat anywhere

代码语言:javascript
复制
import { User } from '@angular/fire/auth';
import { AuthGuard, AuthPipe, AuthPipeGenerator } from '@angular/fire/auth-guard';

const redirectUnauthorizedAndUnverifiedToAuth: AuthPipe = map((user: User | null) => {
  // if not logged in, redirect to `auth`
  // if logged in and email verified, allow redirect
  // if logged in and email not verified, redirect to `auth/verify`
  return !!user ? (user.emailVerified ? true : ['auth', 'verify']) : ['auth']
})

const routes: Routes = [
  {
    path: "auth",
    loadChildren: () => import("./auth/auth.module").then(m => m.AuthModule)
  },
  {
    path: "my-feature",
    loadChildren: () => import("./my-feature/my-feature.module").then(m => m.MyFeatureModule),
    canActivate: [AuthGuard],
    data: { authGuardPipe: redirectUnauthorizedAndUnverifiedToAuth }
  },
  { path: "", redirectTo: "auth", pathMatch: "full" },
  { path: "**", redirectTo: "auth" }
];
EN

回答 1

Stack Overflow用户

发布于 2022-09-21 11:12:49

撰写https://github.com/angular/angularfire#developer-guide时的注意事项

AngularFire有了一个新的树型API --摇摆不定的API,但是它仍在积极开发中,文档正在开发中,因此我们建议大多数开发人员暂时坚持使用可兼容API。

尽管名称为AuthPipeGenerator,但新API期望的是AuthPipe而不是authGuardPipe

https://github.com/angular/angularfire/blame/master/src/auth-guard/auth-guard.ts#L21

代码语言:javascript
复制
const authPipeFactory = next.data.authGuardPipe as AuthPipeGenerator || (() => loggedIn);

import { AuthPipe, AuthPipeGenerator } from '@angular/fire/auth-guard';中找到的类型定义

被解决

代码语言:javascript
复制
const authPipeGenerator: AuthPipeGenerator = () => redirectUnauthorizedAndUnverifiedToAuth

const routes: Routes = [
  ...
  {
    path: "my-feature",
    ...
    data: { authGuardPipe: authPipeGenerator }
  },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73799781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档