当前位置: 首页 > 知识库问答 >
问题:

角度6

韦胜泫
2023-03-14

我已经在谷歌上搜索过了,但我找不到解决办法。

我已经使用这样的代码有一段时间了。http是http客户端。

 forgotPassword(email: string): Observable<ApiReturn> {
        const url = `${this.apiURL}/ForgotPassword`;
        const params = {
            email
        };
        return this.http
            .post<ApiReturn>(url, params, this.requestOptions)
            .pipe(catchError(e => this.handleError(e)));
    }

我更新到最新的Angular 6。x版本和RxJS 6(来自5.5)。现在代码正在抱怨catchError:

类型“操作员函数”的参数不能分配给类型“操作员函数”的参数。参数“源”和“源”的类型不兼容。类型'可观察'不能分配给类型'可观察'。

我的HttpInterceptor现在也无法编译

import { Injectable } from '@angular/core';
import {
    HttpEvent,
    HttpInterceptor,
    HttpHandler,
    HttpRequest,
    HttpResponse
} from '@angular/common/http';
import { Log, Level } from 'ng2-logger/client';
import { Observable } from 'rxjs';
import { map, tap } from 'rxjs/operators';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
    constructor() {
    }

    intercept(
        req: HttpRequest<any>,
        next: HttpHandler
    ): Observable<HttpEvent<any>> {
        // Get the auth header from the service.
        // const authHeader = this.global.authenticationToken;
        // Clone the request to add the new header.
        const authReq = req.clone({
            headers: req.headers
                .set('Access-Control-Allow-Origin', window.location.href)
        });
        // Pass on the cloned request instead of the original request.
        return next.handle(authReq);
    }
}

错误:[ts]类型'导入("c:/ProjDotNet/学院碗-网站/node_modules/@角/核心/node_modules/rxjs/内部/可观察")。可观察到的

基本上是同一个问题。

我想我在管道函数中缺少了一些基本的东西,但是我不能弄清楚或者找到一个正在做我正在做的事情的例子。任何帮助都将不胜感激。

共有2个答案

太叔繁
2023-03-14

正如@meriton所说,这是因为您在多个node_modules中拥有多个rxjs实例。我找到的最佳解决方案是在tsconfig.json中添加别名,以强制在任何地方使用相同的rxjs:

"compilerOptions": {
  "paths": {
      "rxjs": [
        "node_modules/rxjs"
      ],
      "rxjs/*": [
        "node_modules/rxjs/*"
      ]
   }
}
华宇
2023-03-14

更仔细地查看错误消息。上面是这么说的

import("c:/ProjDotNet/collegebowl-site/node_modules/@angular/core/node_modules/rxjs/internal/Observable").Observable>

import("c:/ProjDotNet/collegebowl-site/node_modules/rxjs/internal/Observable").Observable>

有不同的类型。也就是说,实际上有两种不同类型的可观察对象,它们来自位于文件系统不同目录中的RxJS的不同副本。

也就是说,节点_模块处于非常奇怪的状态。运行npm ls rxjswarn why rxjs可能会提供线索,说明为什么npm/warn认为两次安装rxjs是个好主意。

 类似资料:
  • 旋转 你可以通过对一个精灵的rotation设定一个角度来旋转它。 cat.rotation = 0.5; 但是旋转是针对于哪一个点发生的呢? 你已经了解了,精灵的左上角代表它的位置,这个点被称之为 锚点 。如果你用像0.5这种值设定rotation,这个旋转将会 围绕着锚点发生 。下面这张图就是结果: 你能看见锚点是猫的左边耳朵(译者:对猫来说实际上是它的右耳朵!),那里成了猫的图片的旋转中心。

  • 我想按照这个答案从角度5迁移到角度6 我试着执行这三个命令,来更新。angular-cli.json到angular.json: 不幸的是,仍然没有angular.json。如果我试图运行< code>ng serve,我会得到以下错误: 所以我改名了。angular-cli.json到angular.json。但这并没有帮助: 架构验证失败,出现以下错误:数据路径“”不应具有其他属性(项目)。错

  • 问题内容: 我已经看到angular.factory()和angular.service()都用于声明服务;但是,我在官方文档中找不到 任何地方。 两种方法有什么区别? 应该使用哪个(假设他们做不同的事情)? 问题答案: 直到我以这种方式对自己说: 服务 :您编写的 函数 将是 新的 -ed: Factory* :将 调用 您编写的 函数 (构造函数): * 您可以根据自己的意愿进行操作,但是有一

  • 我在这里编码了这个代码: V1和V2是两个向量,它们是保持简单的简单点()。现在我计算它们之间的角度,效果很好。但超过180度,它又回到179178度。。。但我想要360度。 问题是,例如弧度不会变为负值,所以我可以把它放在if段中。。。 谢谢你的建议。

  • CSS中,有 4 种表示角度的单位:度(deg)、弧度(rad)、圈(turn)、梯度(grad)。角度允许为负值。 一个圆周总是等于 360 度、或 2π 弧度、或 1 圈、或 400 梯度。所以,90 度就可以声明为 90deg、或1.57rad或0.25turn、或100grad。 无论使用哪种单位进行声明,角度的值都会解释为 0 ~ 360 度范围内的度数。所以,720deg 等同于0de

  • > 到目前为止,我使用角2快速入门创建了一个新项目。 我决定开始使用angular 2 cli,并创建了一个新的angular 2 cli项目。 移动了我的所有文件并重新安装了所有软件包。 现在,当我试图在CLI项目中使用角2材料时,我遵循了这里的指南,但这是我得到的: 会出什么问题?