带有 TypeScript 错误的 Angular HTTP GET http.get(...).map 不是 [null] 中的函数

2023-12-05

我在 Angular 中遇到 HTTP 问题。

我只想GET a JSON列出并在视图中显示它。

服务等级

import {Injectable} from "angular2/core";
import {Hall} from "./hall";
import {Http} from "angular2/http";
@Injectable()
export class HallService {
    public http:Http;
    public static PATH:string = 'app/backend/'    

    constructor(http:Http) {
        this.http=http;
    }

    getHalls() {
           return this.http.get(HallService.PATH + 'hall.json').map((res:Response) => res.json());
    }
}

并且在HallListComponent我打电话给getHalls来自服务的方法:

export class HallListComponent implements OnInit {
    public halls:Hall[];
    public _selectedId:number;

    constructor(private _router:Router,
                private _routeParams:RouteParams,
                private _service:HallService) {
        this._selectedId = +_routeParams.get('id');
    }

    ngOnInit() {
        this._service.getHalls().subscribe((halls:Hall[])=>{ 
            this.halls=halls;
        });
    }
}

但是,我遇到了一个例外:

类型错误:this.http.get(...).map 不是 [null] 中的函数

大厅中心组件

import {Component} from "angular2/core";
import {RouterOutlet} from "angular2/router";
import {HallService} from "./hall.service";
import {RouteConfig} from "angular2/router";
import {HallListComponent} from "./hall-list.component";
import {HallDetailComponent} from "./hall-detail.component";
@Component({
    template:`
        <h2>my app</h2>
        <router-outlet></router-outlet>
    `,
    directives: [RouterOutlet],
    providers: [HallService]
})

@RouteConfig([
    {path: '/',         name: 'HallCenter', component:HallListComponent, useAsDefault:true},
    {path: '/hall-list', name: 'HallList', component:HallListComponent}
])

export class HallCenterComponent{}

应用程序组件

import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES} from "angular2/router";
import {RouteConfig} from "angular2/router";
import {HallCenterComponent} from "./hall/hall-center.component";
@Component({
    selector: 'my-app',
    template: `
        <h1>Examenopdracht Factory</h1>
        <a [routerLink]="['HallCenter']">Hall overview</a>
        <router-outlet></router-outlet>
    `,
    directives: [ROUTER_DIRECTIVES]
})

@RouteConfig([
    {path: '/hall-center/...', name:'HallCenter',component:HallCenterComponent,useAsDefault:true}
])
export class AppComponent { }

tsconfig.json

{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules"
  ]
}

我认为你需要导入这个:

import 'rxjs/add/operator/map'

或者更一般地说,如果您想要有更多可观察量的方法。警告:这将导入所有 50 多个运算符并将它们添加到您的应用程序中,从而影响您的包大小和加载时间。

import 'rxjs/Rx';

See 这个问题更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 TypeScript 错误的 Angular HTTP GET http.get(...).map 不是 [null] 中的函数 的相关文章

随机推荐

  • R 中数据表的奇怪情况,列名混合

    所以我创建了这个变量mc split device在数据表内称为mc with devices 但是 如果我输入mc with devices mc split我得到了列的值mc split device虽然我从未创建过任何具有该名称的变量
  • 严重:无法初始化 Jenkins [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我已经在 Linux 上安装了 jenkins 但是当我尝试启动服务器时 它出现
  • MFC 中的 libmodbus

    我正在尝试将 libmodbus 提供的 modbus 库集成到 Visual Studio 2010 中的自定义 MFC 项目中 到目前为止我所遵循的步骤如下 1 我在 Visual Studio 2010 中创建了项目 如下面的快照所示
  • 逼近非参数三次贝塞尔曲线

    近似三次贝塞尔曲线的最佳方法是什么 理想情况下 我想要一个函数 y x 它可以给出任何给定 x 的精确 y 值 但这将涉及求解每个 x 值的三次方程 这对于我的需求来说太慢了 并且可能存在数值稳定性问题以及这种方法 Would this是一
  • CMUSphinx PocketSphinx - 识别所有(或大量)单词

    在我尝试使用 Android 版 PocketSphinx 之前 我使用了 Google 的语音识别 API 我不需要设置搜索名称或字典文件 它只是识别了所说的每一个字 现在 在 PocketSphinx 中 我需要这样做 但我只能找到如何
  • mongo-php-library 和 MongoDB 驱动程序有什么区别

    mongo php library 和 MongoDB 驱动程序有什么区别 它们在性能和功能方面有何不同 优缺点都有什么 我们目前在生产中使用 mongo php library 如下所示 connection new MongoDB Cl
  • 当用户到达页面底部时隐藏 div

    我想在用户滚动并到达页面底部时隐藏 div 元素 并在用户向上滚动时再次显示它 例如 考虑以下名为 nav 的导航栏 HTML div class nav div CSS nav width 100 height 50px position
  • 谷歌地图 android api v2 应用程序崩溃

    我正在使用 Eclipse helios 和 Android 4 1 2 我已遵循以下文档https docs google com document pub id 19nQzvKP CVLd7 VrpwnHfl AE9fjbJySowON
  • 样式表或 JavaScript 文件的 Rails 404 错误

    Rails 无法在生产中加载 404 错误 CSS 和 JS 文件 但在开发中加载它们没有问题 我使用 Capistrano 进行部署并运行 Rails 3 我的开发路径是 www myapp但我的生产之路是 www myapp 当前 应用
  • 使用 VSTS Rest API 设置 git repo 权限

    有没有办法使用 VSTS Rest API 设置 git 存储库的权限 我有一个创建存储库的脚本 我想扩展它以设置一些默认权限 授予项目集合构建服务贡献权限 我读了图形用户界面文档并浏览了其余 API 文档但看不到我可以通过 API 设置存
  • 为多个系列创建折线图

    我的工作表中有如下数据 Day Area AVG Time 2013 07 01 LINE1 49 703432 2013 07 02 LINE1 38 119913 2013 07 03 LINE1 30 6651 2013 07 04
  • 临时解压缩文件以在浏览器中查看内容

    我想解压一个包含 html 页面 css 和 js 目录的文件 我想暂时解压缩它并在 iFrame 中查看 html 最好是这样 我正在使用 jszip 它正在工作 我已经加载了 html 但如何将图像 js 和 css 文件夹添加到 iF
  • 两个数组之间的余弦距离计算 - Python [重复]

    这个问题在这里已经有答案了 我想应用一个函数fn 这本质上是cosine distance对两个形状为 10000 100 和 5000 100 的大型 numpy 数组按行进行计算 即我为这些数组中的每个行组合计算一个值 我的实现 imp
  • 移动图中的多个盒子?

    我已经拥有在 MATLAB 中拖放图形中的单个框所需的函数 我编写的代码在图中填充了几个方框 通过另一个循环 我用更多的框填充了图形 其中以字符串形式保存不同的信息 这两组框通过我在其 UserData 中放置的数字相关 对应的数字 对于每
  • 当输入获得焦点时动画父 div

    我正在尝试做到这一点 以便当有人单击输入框时它会升到屏幕顶部 我能够完成这项工作 但我无法让父 div 中的其他内容随之移动 这是我所拥有的 container input search bar focus position absolut
  • Android Facebook 开放图谱?

    我很好奇是否可以获得 Open Graph 方面的帮助 因为我似乎无法从我读过的 Facebook API 中获得任何意义 现在我已经在 Facebook 上设置了我的 Open Graph 应用程序 已获批准 我正在尝试通过捆绑参数提交我
  • 调暗非活动形式

    使用 Form ShowDialog 打开对话框表单时 我想用灰色阴影调暗应用程序的其余部分 从我自己的研究来看 这样做的方法似乎是打开一个黑色背景且不透明度小于 100 的无边框表单 但我还没有将所有部分放在一起 了解它是如何工作的 或者
  • 如何在流(java)中添加日期时间值?

    今天我开始学习 Java 8 所以我对 Java 8 及其相关的东西还很陌生 我有一份活动清单 活动有名称 开始时间 结束时间 对于 startTime 和 endTime 我使用 joda 时间中的 DateTime 我正在尝试确定映射形
  • Swift:设置 rootViewController 不起作用?

    我正在尝试启动一个新的 Swift 项目 这是我第一次尝试以编程方式创建视图 然而 我的控制器看起来根本没有被加载 我所看到的只是启动屏幕 然后当我将其加载到模拟器上时出现黑屏 这是我的 AppDelegate import UIKit U
  • 带有 TypeScript 错误的 Angular HTTP GET http.get(...).map 不是 [null] 中的函数

    我在 Angular 中遇到 HTTP 问题 我只想GET a JSON列出并在视图中显示它 服务等级 import Injectable from angular2 core import Hall from hall import Ht